mirror of https://github.com/citusdata/citus.git
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
CREATE SCHEMA failure_local_modification;
|
|
SET search_path TO failure_local_modification;
|
|
SET citus.next_shard_id TO 1989000;
|
|
SET citus.shard_replication_factor TO 1;
|
|
CREATE TABLE failover_to_local (key int PRIMARY KEY, value varchar(10));
|
|
SELECT create_reference_table('failover_to_local');
|
|
create_reference_table
|
|
---------------------------------------------------------------------
|
|
|
|
(1 row)
|
|
|
|
\c - - - :worker_2_port
|
|
SET search_path TO failure_local_modification;
|
|
-- prevent local connection establishment, imitate
|
|
-- a failure
|
|
ALTER SYSTEM SET citus.local_shared_pool_size TO -1;
|
|
SELECT pg_reload_conf();
|
|
pg_reload_conf
|
|
---------------------------------------------------------------------
|
|
t
|
|
(1 row)
|
|
|
|
SELECT pg_sleep(0.2);
|
|
pg_sleep
|
|
---------------------------------------------------------------------
|
|
|
|
(1 row)
|
|
|
|
BEGIN;
|
|
-- we force the execution to use connections (e.g., remote execution)
|
|
-- however, we do not allow connections as local_shared_pool_size=-1
|
|
-- so, properly error out
|
|
SET LOCAL citus.enable_local_execution TO false;
|
|
INSERT INTO failover_to_local VALUES (1,'1'), (2,'2'),(3,'3'),(4,'4');
|
|
ERROR: the total number of connections on the server is more than max_connections(100)
|
|
HINT: This command supports local execution. Consider enabling local execution using SET citus.enable_local_execution TO true;
|
|
ROLLBACK;
|
|
ALTER SYSTEM RESET citus.local_shared_pool_size;
|
|
SELECT pg_reload_conf();
|
|
pg_reload_conf
|
|
---------------------------------------------------------------------
|
|
t
|
|
(1 row)
|
|
|
|
\c - - - :master_port
|
|
SET client_min_messages TO ERROR;
|
|
DROP SCHEMA failure_local_modification cascade;
|