Fix tests

Fix tests that are broken due to worker not being allowed to acquire distributed locks
pull/5899/head
gledis69 2022-04-26 18:36:50 +03:00
parent d50c015934
commit bda8d604cd
25 changed files with 1375 additions and 317 deletions

View File

@ -831,6 +831,13 @@ EXECUTE router_with_only_function;
1 | (test,1)
(1 row)
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
\c - - - :worker_2_port
SET citus.log_local_commands TO ON;
SET search_path TO coordinator_evaluation_combinations_modify;
@ -1842,5 +1849,12 @@ NOTICE: executing the command locally: DELETE FROM coordinator_evaluation_combi
-- suppress notices
\c - - - :master_port
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
citus_remove_node
---------------------------------------------------------------------
(1 row)
SET client_min_messages TO ERROR;
DROP SCHEMA coordinator_evaluation_combinations_modify CASCADE;

View File

@ -0,0 +1,824 @@
Parsed test spec with 3 sessions
starting permutation: s1-begin s1-acquire-aggresive-lock-on-dist-table s2-start-session-level-connection s2-begin s2-read-dist-table s1-rollback s2-rollback s2-stop-connection
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-dist-table:
LOCK dist_table IN ACCESS EXCLUSIVE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-dist-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table');
<waiting ...>
step s1-rollback:
ROLLBACK;
step s2-read-dist-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s1-begin s1-acquire-aggresive-lock-on-dist-table s2-start-session-level-connection s2-begin s2-acquire-aggressive-lock-dist-table s1-rollback s1-read-dist-table s2-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-dist-table:
LOCK dist_table IN ACCESS EXCLUSIVE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
<waiting ...>
step s1-rollback:
ROLLBACK;
step s2-acquire-aggressive-lock-dist-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-read-dist-table:
SELECT * FROM dist_table;
<waiting ...>
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-read-dist-table: <... completed>
a
-
1
5
3
4
2
(5 rows)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s2-start-session-level-connection s2-begin s2-acquire-aggressive-lock-dist-table s1-begin s1-acquire-aggresive-lock-on-dist-table-nowait s1-rollback s2-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-dist-table-nowait:
LOCK dist_table IN ACCESS EXCLUSIVE MODE NOWAIT;
ERROR: could not obtain lock on relation "public.dist_table"
step s1-rollback:
ROLLBACK;
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s2-start-session-level-connection s2-begin s3-start-session-level-connection s3-begin s2-acquire-aggressive-lock-dist-table s3-acquire-aggressive-lock-dist-table s2-rollback s2-read-dist-table s3-rollback s2-stop-connection s3-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
<waiting ...>
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-acquire-aggressive-lock-dist-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-dist-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table');
<waiting ...>
step s3-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-dist-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s1-begin s1-acquire-weak-lock-on-dist-table s2-start-session-level-connection s2-begin s2-read-dist-table s2-acquire-aggressive-lock-dist-table s1-rollback s2-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-acquire-weak-lock-on-dist-table:
LOCK dist_table IN ACCESS SHARE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-dist-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
<waiting ...>
step s1-rollback:
ROLLBACK;
step s2-acquire-aggressive-lock-dist-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s2-start-session-level-connection s2-begin s2-lock-reference-table s1-begin s1-read-ref-table s2-rollback s1-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-lock-reference-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK ref_table IN ACCESS EXCLUSIVE MODE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-read-ref-table:
SELECT * FROM ref_table;
<waiting ...>
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-read-ref-table: <... completed>
a
-
1
2
3
4
5
(5 rows)
step s1-rollback:
ROLLBACK;
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-acquire-aggresive-lock-on-view s2-start-session-level-connection s2-begin s2-read-dist-table s1-rollback s2-rollback s2-stop-connection
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-view:
LOCK main_view IN ACCESS EXCLUSIVE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-dist-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-rollback:
ROLLBACK;
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s1-begin s1-acquire-aggresive-lock-on-view s2-start-session-level-connection s2-begin s2-acquire-aggressive-lock-dist-table s1-rollback s2-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-view:
LOCK main_view IN ACCESS EXCLUSIVE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
<waiting ...>
step s1-rollback:
ROLLBACK;
step s2-acquire-aggressive-lock-dist-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-acquire-aggresive-lock-on-view s2-start-session-level-connection s2-begin s2-read-ref-table s1-rollback s2-rollback s2-stop-connection
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-view:
LOCK main_view IN ACCESS EXCLUSIVE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-ref-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-rollback:
ROLLBACK;
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s2-start-session-level-connection s2-begin s2-acquire-aggressive-lock-dist-table s1-begin s1-acquire-aggresive-lock-on-view-nowait s1-rollback s2-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-acquire-aggressive-lock-dist-table:
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-acquire-aggresive-lock-on-view-nowait:
LOCK main_view IN ACCESS EXCLUSIVE MODE NOWAIT;
ERROR: could not obtain lock on relation "dist_table"
step s1-rollback:
ROLLBACK;
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-coordinator-to-metadata s1-begin s1-lock-all s2-start-session-level-connection s2-begin s2-read-ref-table s1-rollback s2-rollback s2-stop-connection s1-remove-coordinator-from-metadata
step s1-add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-lock-all:
LOCK dist_table, local_table, ref_table, main_view, sub_view IN ACCESS EXCLUSIVE MODE;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-read-ref-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table');
<waiting ...>
step s1-rollback:
ROLLBACK;
step s2-read-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-rollback:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -1,4 +1,4 @@
Parsed test spec with 3 sessions
Parsed test spec with 4 sessions
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-insert s1-rollback-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
step s1-start-session-level-connection:
@ -521,7 +521,15 @@ restore_isolation_tester_func
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
starting permutation: add-coordinator-to-metadata s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display remove-coordinator-from-metadata
step add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
@ -617,6 +625,14 @@ id|value
---------------------------------------------------------------------
(0 rows)
step remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
Parsed test spec with 3 sessions
Parsed test spec with 4 sessions
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-insert s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
@ -855,7 +855,15 @@ restore_isolation_tester_func
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection
starting permutation: add-coordinator-to-metadata s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection remove-coordinator-from-metadata
step add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
@ -945,6 +953,14 @@ stop_session_level_connection_to_node
(1 row)
step remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
Parsed test spec with 3 sessions
Parsed test spec with 4 sessions
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
create_reference_table
@ -568,12 +568,20 @@ restore_isolation_tester_func
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
starting permutation: add-coordinator-to-metadata s1-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection remove-coordinator-from-metadata
create_reference_table
---------------------------------------------------------------------
(1 row)
step add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
@ -655,6 +663,14 @@ stop_session_level_connection_to_node
(1 row)
step remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------

View File

@ -1,4 +1,4 @@
Parsed test spec with 3 sessions
Parsed test spec with 4 sessions
starting permutation: s1-add-primary-key s1-start-session-level-connection s1-begin-on-worker s1-upsert s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
create_reference_table
@ -299,12 +299,20 @@ restore_isolation_tester_func
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
starting permutation: add-coordinator-to-metadata s1-start-session-level-connection s1-begin-on-worker s1-delete s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count remove-coordinator-from-metadata
create_reference_table
---------------------------------------------------------------------
(1 row)
step add-coordinator-to-metadata:
SELECT citus_set_coordinator_host('localhost', 57636);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
@ -394,6 +402,14 @@ count
0
(1 row)
step remove-coordinator-from-metadata:
SELECT citus_remove_node('localhost', 57636);
citus_remove_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,12 @@
CREATE SCHEMA local_shard_execution_replicated;
SET search_path TO local_shard_execution_replicated;
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
SET citus.shard_count TO 4;
SET citus.shard_replication_factor TO 2;
SET citus.next_shard_id TO 1500000;
@ -696,10 +703,10 @@ NOTICE: executing the command locally: SELECT count(*) AS count FROM local_shar
(1 row)
SELECT count(*) FROM distributed_table d1 join distributed_table d2 using(age);
NOTICE: executing the command locally: SELECT partition_index, 'repartition_64_1' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_64_1','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500001 d1 WHERE true',0,'hash','{-2147483648,-1073741824,0,1073741824}'::text[],'{-1073741825,-1,1073741823,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_64_3' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_64_3','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500003 d1 WHERE true',0,'hash','{-2147483648,-1073741824,0,1073741824}'::text[],'{-1073741825,-1,1073741823,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_65_1' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_65_1','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500001 d2 WHERE true',0,'hash','{-2147483648,-1073741824,0,1073741824}'::text[],'{-1073741825,-1,1073741823,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_65_3' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_65_3','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500003 d2 WHERE true',0,'hash','{-2147483648,-1073741824,0,1073741824}'::text[],'{-1073741825,-1,1073741823,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_64_1' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_64_1','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500001 d1 WHERE true',0,'hash','{-2147483648,-1431655766,-715827884,-2,715827880,1431655762}'::text[],'{-1431655767,-715827885,-3,715827879,1431655761,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_64_3' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_64_3','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500003 d1 WHERE true',0,'hash','{-2147483648,-1431655766,-715827884,-2,715827880,1431655762}'::text[],'{-1431655767,-715827885,-3,715827879,1431655761,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_65_1' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_65_1','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500001 d2 WHERE true',0,'hash','{-2147483648,-1431655766,-715827884,-2,715827880,1431655762}'::text[],'{-1431655767,-715827885,-3,715827879,1431655761,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT partition_index, 'repartition_65_3' || '_' || partition_index::text , rows_written FROM pg_catalog.worker_partition_query_result('repartition_65_3','SELECT age AS column1 FROM local_shard_execution_replicated.distributed_table_1500003 d2 WHERE true',0,'hash','{-2147483648,-1431655766,-715827884,-2,715827880,1431655762}'::text[],'{-1431655767,-715827885,-3,715827879,1431655761,2147483647}'::text[],true,true,true) WHERE rows_written > 0
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_1_0']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_2_0']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_3_0']::text[],'localhost',57637) bytes
@ -716,14 +723,6 @@ NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_res
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_2_1']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_3_1']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_4_1']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_1_2']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_2_2']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_3_2']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_4_2']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_1_2']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_2_2']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_3_2']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_4_2']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_1_3']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_2_3']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_3_3']::text[],'localhost',57637) bytes
@ -732,10 +731,18 @@ NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_res
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_2_3']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_3_3']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_4_3']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_1_4']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_2_4']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_3_4']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_64_4_4']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_1_4']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_2_4']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_3_4']::text[],'localhost',57637) bytes
NOTICE: executing the command locally: SELECT bytes FROM fetch_intermediate_results(ARRAY['repartition_65_4_4']::text[],'localhost',57638) bytes
NOTICE: executing the command locally: SELECT count(*) AS count FROM (read_intermediate_results('{repartition_64_1_0,repartition_64_2_0,repartition_64_3_0,repartition_64_4_0}'::text[], 'binary'::citus_copy_format) intermediate_result(column1 bigint) JOIN read_intermediate_results('{repartition_65_1_0,repartition_65_2_0,repartition_65_3_0,repartition_65_4_0}'::text[], 'binary'::citus_copy_format) intermediate_result_1(column1 bigint) ON ((intermediate_result.column1 OPERATOR(pg_catalog.=) intermediate_result_1.column1))) WHERE true
NOTICE: executing the command locally: SELECT count(*) AS count FROM (read_intermediate_results('{repartition_64_1_1,repartition_64_2_1,repartition_64_3_1,repartition_64_4_1}'::text[], 'binary'::citus_copy_format) intermediate_result(column1 bigint) JOIN read_intermediate_results('{repartition_65_1_1,repartition_65_2_1,repartition_65_3_1,repartition_65_4_1}'::text[], 'binary'::citus_copy_format) intermediate_result_1(column1 bigint) ON ((intermediate_result.column1 OPERATOR(pg_catalog.=) intermediate_result_1.column1))) WHERE true
NOTICE: executing the command locally: SELECT count(*) AS count FROM (read_intermediate_results('{repartition_64_1_2,repartition_64_2_2,repartition_64_3_2,repartition_64_4_2}'::text[], 'binary'::citus_copy_format) intermediate_result(column1 bigint) JOIN read_intermediate_results('{repartition_65_1_2,repartition_65_2_2,repartition_65_3_2,repartition_65_4_2}'::text[], 'binary'::citus_copy_format) intermediate_result_1(column1 bigint) ON ((intermediate_result.column1 OPERATOR(pg_catalog.=) intermediate_result_1.column1))) WHERE true
NOTICE: executing the command locally: SELECT count(*) AS count FROM (read_intermediate_results('{repartition_64_1_3,repartition_64_2_3,repartition_64_3_3,repartition_64_4_3}'::text[], 'binary'::citus_copy_format) intermediate_result(column1 bigint) JOIN read_intermediate_results('{repartition_65_1_3,repartition_65_2_3,repartition_65_3_3,repartition_65_4_3}'::text[], 'binary'::citus_copy_format) intermediate_result_1(column1 bigint) ON ((intermediate_result.column1 OPERATOR(pg_catalog.=) intermediate_result_1.column1))) WHERE true
NOTICE: executing the command locally: SELECT count(*) AS count FROM (read_intermediate_results('{repartition_64_1_4,repartition_64_2_4,repartition_64_3_4,repartition_64_4_4}'::text[], 'binary'::citus_copy_format) intermediate_result(column1 bigint) JOIN read_intermediate_results('{repartition_65_1_4,repartition_65_2_4,repartition_65_3_4,repartition_65_4_4}'::text[], 'binary'::citus_copy_format) intermediate_result_1(column1 bigint) ON ((intermediate_result.column1 OPERATOR(pg_catalog.=) intermediate_result_1.column1))) WHERE true
count
---------------------------------------------------------------------
2
@ -2436,6 +2443,13 @@ ON CONFLICT (event_id, user_id)
DO UPDATE SET response = EXCLUDED.response RETURNING *;
ERROR: modifications via the worker nodes are not allowed for replicated tables such as reference tables or hash distributed tables with replication factor greater than 1.
\c - - - :master_port
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
citus_remove_node
---------------------------------------------------------------------
(1 row)
SET client_min_messages TO ERROR;
SET search_path TO public;
DROP SCHEMA local_shard_execution_replicated CASCADE;

View File

@ -96,6 +96,13 @@ BEGIN;
(1 row)
ROLLBACK;
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
\c - - - :worker_1_port
SET search_path TO 'truncate_from_workers';
-- make sure that TRUNCATE workes expected from the worker node
@ -213,6 +220,13 @@ BEGIN;
ROLLBACK;
RESET client_min_messages;
\c - - - :master_port
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
citus_remove_node
---------------------------------------------------------------------
(1 row)
-- also test the infrastructure that is used for supporting
-- TRUNCATE from worker nodes
-- should fail since it is not in transaction block

View File

@ -174,7 +174,26 @@ SELECT create_distributed_table('data', 'key');
COPY data FROM STDIN WITH (format csv, delimiter '|', escape '\');
-- run pg_dump on worker (which has shards)
-- fails due to the coordinator not being in the metadata
\COPY output FROM PROGRAM 'PGAPPNAME=pg_dump pg_dump -f results/pg_dump.tmp -h localhost -p 57637 -U postgres -d regression -n dumper --quote-all-identifiers'
pg_dump: error: query failed: ERROR: Cannot acquire a distributed lock from a worker node since the coordinator is not in the metadata.
HINT: Either run this command on the coordinator or add the coordinator in the metadata by using: SELECT citus_set_coordinator_host('<hostname>', <port>);
pg_dump: error: query was: LOCK TABLE "dumper"."data" IN ACCESS SHARE MODE
PGAPPNAME=pg_dump pg_dump -f results/pg_dump.tmp -h localhost -p 57637 -U postgres -d regression -n dumper --quote-all-identifiers: child process exited with exit code 1
SELECT citus_set_coordinator_host('localhost', :master_port);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
-- succeeds
\COPY output FROM PROGRAM 'PGAPPNAME=pg_dump pg_dump -f results/pg_dump.tmp -h localhost -p 57637 -U postgres -d regression -n dumper --quote-all-identifiers'
SELECT citus_remove_node('localhost', :master_port);
citus_remove_node
---------------------------------------------------------------------
(1 row)
-- restore pg_dump from worker via coordinator
DROP SCHEMA dumper CASCADE;
NOTICE: drop cascades to table data

View File

@ -2,6 +2,8 @@
-- MULTI_MX_COPY_DATA
--
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
\COPY nation_hash FROM '@abs_srcdir@/data/nation.data' with delimiter '|';
SET search_path TO citus_mx_test_schema;
@ -62,3 +64,6 @@ SET search_path TO public;
\COPY nation_mx FROM '@abs_srcdir@/data/nation.data' with delimiter '|'
\COPY part_mx FROM '@abs_srcdir@/data/part.data' with delimiter '|'
\COPY supplier_mx FROM '@abs_srcdir@/data/supplier.data' with delimiter '|'
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);

View File

@ -28,13 +28,15 @@ test: multi_mx_add_coordinator
test: multi_mx_modifications_to_reference_tables
test: multi_mx_partitioning
test: mx_coordinator_shouldhaveshards
test: multi_mx_copy_data multi_mx_router_planner
test: multi_mx_copy_data
test: multi_mx_router_planner
test: multi_mx_schema_support multi_mx_tpch_query1 multi_mx_tpch_query10
test: multi_mx_tpch_query12 multi_mx_tpch_query14 multi_mx_tpch_query19
test: multi_mx_tpch_query3 multi_mx_tpch_query6 multi_mx_tpch_query7
test: multi_mx_tpch_query7_nested multi_mx_ddl
test: ch_bench_having_mx
test: recursive_dml_queries_mx multi_mx_truncate_from_worker
test: recursive_dml_queries_mx
test: multi_mx_truncate_from_worker
test: multi_mx_repartition_udt_prepare mx_foreign_key_to_reference_table
test: multi_mx_repartition_join_w1 multi_mx_repartition_join_w2
test: multi_mx_metadata
@ -43,7 +45,9 @@ test: coordinator_evaluation_modify
test: coordinator_evaluation_select
test: multi_mx_call
test: multi_mx_function_call_delegation
test: multi_mx_modifications local_shard_execution local_shard_execution_replicated
test: multi_mx_modifications
test: local_shard_execution
test: local_shard_execution_replicated
test: multi_mx_repartition_udt_w1 multi_mx_repartition_udt_w2
test: local_shard_copy
test: undistribute_table_cascade_mx

View File

@ -1,6 +1,13 @@
--
-- MULTI_MX_COPY_DATA
--
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
citus_set_coordinator_host
---------------------------------------------------------------------
(1 row)
\COPY nation_hash FROM '@abs_srcdir@/data/nation.data' with delimiter '|';
SET search_path TO citus_mx_test_schema;
\COPY nation_hash FROM '@abs_srcdir@/data/nation.data' with delimiter '|';
@ -128,3 +135,10 @@ SET search_path TO public;
\COPY nation_mx FROM '@abs_srcdir@/data/nation.data' with delimiter '|'
\COPY part_mx FROM '@abs_srcdir@/data/part.data' with delimiter '|'
\COPY supplier_mx FROM '@abs_srcdir@/data/supplier.data' with delimiter '|'
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
citus_remove_node
---------------------------------------------------------------------
(1 row)

View File

@ -35,13 +35,6 @@ teardown
SELECT citus_internal.restore_isolation_tester_func();
}
session "deadlock-checker"
step "deadlock-checker-call"
{
SELECT check_distributed_deadlocks();
}
// coordinator session
session "s1"
@ -50,6 +43,11 @@ step "s1-add-coordinator-to-metadata"
SELECT citus_set_coordinator_host('localhost', 57636);
}
step "s1-remove-coordinator-from-metadata"
{
SELECT citus_remove_node('localhost', 57636);
}
step "s1-begin"
{
BEGIN;
@ -127,13 +125,9 @@ step "s2-acquire-aggressive-lock-dist-table" {
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
}
step "s2-acquire-aggressive-lock-dist-table-nowait" {
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE NOWAIT');
}
step "s2-lock-reference-table"
{
LOCK ref_table IN ACCESS EXCLUSIVE MODE;
SELECT run_commands_on_session_level_connection_to_node('LOCK ref_table IN ACCESS EXCLUSIVE MODE');
}
step "s2-rollback"
@ -149,7 +143,6 @@ step "s2-stop-connection"
// worker 2 xact session
session "s3"
step "s3-start-session-level-connection"
{
SELECT start_session_level_connection_to_node('localhost', 57638);
@ -160,19 +153,10 @@ step "s3-begin"
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
}
step "s3-read-dist-table"
{
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table');
}
step "s3-acquire-aggressive-lock-dist-table" {
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE');
}
step "s3-acquire-aggressive-lock-dist-table-nowait" {
SELECT run_commands_on_session_level_connection_to_node('LOCK dist_table IN ACCESS EXCLUSIVE MODE NOWAIT');
}
step "s3-rollback"
{
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
@ -184,15 +168,13 @@ step "s3-stop-connection"
}
permutation "s1-begin" "s1-acquire-aggresive-lock-on-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-read-dist-table" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-aggresive-lock-on-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-rollback" "s1-read-dist-table" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-aggresive-lock-on-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table-nowait" "s2-rollback" "s1-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table-nowait" "s1-begin" "s1-acquire-aggresive-lock-on-dist-table-nowait" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s3-start-session-level-connection" "s3-begin" "s2-acquire-aggressive-lock-dist-table" "s3-acquire-aggressive-lock-dist-table" "s2-rollback" "s2-read-dist-table" "s3-rollback" "s2-stop-connection" "s3-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s3-start-session-level-connection" "s3-begin" "s3-read-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s3-acquire-aggressive-lock-dist-table" "deadlock-checker-call" "s2-rollback" "s3-rollback" "s2-stop-connection" "s3-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-weak-lock-on-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-read-dist-table" "s2-acquire-aggressive-lock-dist-table" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s2-lock-reference-table" "s1-begin" "s1-read-ref-table" "s2-rollback" "s1-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-aggresive-lock-on-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-rollback" "s1-read-dist-table" "s2-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-begin" "s1-acquire-aggresive-lock-on-dist-table-nowait" "s1-rollback" "s2-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s3-start-session-level-connection" "s3-begin" "s2-acquire-aggressive-lock-dist-table" "s3-acquire-aggressive-lock-dist-table" "s2-rollback" "s2-read-dist-table" "s3-rollback" "s2-stop-connection" "s3-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-weak-lock-on-dist-table" "s2-start-session-level-connection" "s2-begin" "s2-read-dist-table" "s2-acquire-aggressive-lock-dist-table" "s1-rollback" "s2-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s2-lock-reference-table" "s1-begin" "s1-read-ref-table" "s2-rollback" "s1-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-begin" "s1-acquire-aggresive-lock-on-view" "s2-start-session-level-connection" "s2-begin" "s2-read-dist-table" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-aggresive-lock-on-view" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-acquire-aggresive-lock-on-view" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-rollback" "s2-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-begin" "s1-acquire-aggresive-lock-on-view" "s2-start-session-level-connection" "s2-begin" "s2-read-ref-table" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-acquire-aggresive-lock-on-view-nowait" "s1-rollback" "s2-rollback" "s2-stop-connection"
permutation "s1-begin" "s1-lock-all" "s2-start-session-level-connection" "s2-begin" "s2-read-ref-table" "s3-start-session-level-connection" "s3-begin" "s3-acquire-aggressive-lock-dist-table-nowait" "s1-rollback" "s2-rollback" "s3-rollback" "s2-stop-connection" "s3-stop-connection"
permutation "s1-add-coordinator-to-metadata" "s2-start-session-level-connection" "s2-begin" "s2-acquire-aggressive-lock-dist-table" "s1-begin" "s1-acquire-aggresive-lock-on-view-nowait" "s1-rollback" "s2-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"
permutation "s1-add-coordinator-to-metadata" "s1-begin" "s1-lock-all" "s2-start-session-level-connection" "s2-begin" "s2-read-ref-table" "s1-rollback" "s2-rollback" "s2-stop-connection" "s1-remove-coordinator-from-metadata"

View File

@ -18,6 +18,19 @@ teardown
SELECT citus_internal.restore_isolation_tester_func();
}
// coordinator session
session "s0"
step "add-coordinator-to-metadata"
{
SELECT citus_set_coordinator_host('localhost', 57636);
}
step "remove-coordinator-from-metadata"
{
SELECT citus_remove_node('localhost', 57636);
}
session "s1"
step "s1-start-session-level-connection"
@ -126,6 +139,6 @@ permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-insert-select" "s1-rollback-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-display"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-update" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-display"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-copy" "s1-rollback-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-display"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-display"
permutation "add-coordinator-to-metadata" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-display" "remove-coordinator-from-metadata"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-select-for-udpate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-display"
//permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-coordinator-create-index-concurrently" "s1-commit-worker" "s1-stop-connection" "s3-display"

View File

@ -15,6 +15,18 @@ teardown
SELECT citus_internal.restore_isolation_tester_func();
}
// coordinator session
session "s0"
step "add-coordinator-to-metadata"
{
SELECT citus_set_coordinator_host('localhost', 57636);
}
step "remove-coordinator-from-metadata"
{
SELECT citus_remove_node('localhost', 57636);
}
session "s1"
@ -140,7 +152,7 @@ permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-update" "s1-commit-worker" "s2-commit-worker" "s3-select-count" "s1-stop-connection" "s2-stop-connection"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert-multi-row" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-update-multi-row" "s1-commit-worker" "s2-commit-worker" "s3-select-count" "s1-stop-connection" "s2-stop-connection"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-copy" "s1-commit-worker" "s2-commit-worker" "s3-select-count" "s1-stop-connection" "s2-stop-connection"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s3-select-count" "s1-stop-connection" "s2-stop-connection"
permutation "add-coordinator-to-metadata" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s3-select-count" "s1-stop-connection" "s2-stop-connection" "remove-coordinator-from-metadata"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-select-for-update" "s1-commit-worker" "s2-commit-worker" "s3-select-count" "s1-stop-connection" "s2-stop-connection"
//Not able to test the next permutation, until issue with CREATE INDEX CONCURRENTLY's locks is resolved. Issue #2966
//permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-insert" "s2-coordinator-create-index-concurrently" "s1-commit-worker" "s3-select-count" "s1-stop-connection"

View File

@ -2,6 +2,8 @@
setup
{
SELECT citus_set_coordinator_host('localhost', 57636);
CREATE OR REPLACE FUNCTION trigger_metadata_sync()
RETURNS void
LANGUAGE C STRICT
@ -26,6 +28,8 @@ teardown
DROP TABLE deadlock_detection_test;
DROP TABLE t2;
SET citus.shard_replication_factor = 1;
SELECT citus_remove_node('localhost', 57636);
SELECT citus_internal.restore_isolation_tester_func();
}

View File

@ -14,6 +14,19 @@ teardown
SELECT citus_internal.restore_isolation_tester_func();
}
// coordinator session
session "s0"
step "add-coordinator-to-metadata"
{
SELECT citus_set_coordinator_host('localhost', 57636);
}
step "remove-coordinator-from-metadata"
{
SELECT citus_remove_node('localhost', 57636);
}
session "s1"
// We do not need to begin a transaction on coordinator, since it will be open on workers.
@ -125,5 +138,5 @@ permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-for-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-insert-select-ref-table" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-for-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-copy" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-for-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-alter" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-for-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection"
permutation "add-coordinator-to-metadata" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-for-update" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "remove-coordinator-from-metadata"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-select-for-update" "s2-coordinator-create-index-concurrently" "s1-commit-worker" "s1-stop-connection"

View File

@ -14,6 +14,19 @@ teardown
SELECT citus_internal.restore_isolation_tester_func();
}
// coordinator session
session "s0"
step "add-coordinator-to-metadata"
{
SELECT citus_set_coordinator_host('localhost', 57636);
}
step "remove-coordinator-from-metadata"
{
SELECT citus_remove_node('localhost', 57636);
}
session "s1"
step "s1-add-primary-key"
@ -111,6 +124,6 @@ step "s3-select-count"
permutation "s1-add-primary-key" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-upsert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-select" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-insert-select-ref-table" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-add-primary-key" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-upsert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-drop" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "add-coordinator-to-metadata" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count" "remove-coordinator-from-metadata"
//Not able to test the next permutation, until issue with CREATE INDEX CONCURRENTLY's locks is resolved. Issue #2966
//permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-coordinator-create-index-concurrently" "s1-commit-worker" "s3-select-count" "s1-stop-connection"

View File

@ -2,6 +2,8 @@
setup
{
SELECT citus_set_coordinator_host('localhost', 57636);
CREATE TABLE truncate_table(id integer, value integer);
SELECT create_distributed_table('truncate_table', 'id');
COPY truncate_table FROM PROGRAM 'echo 1, 10 && echo 2, 20 && echo 3, 30 && echo 4, 40 && echo 5, 50' WITH CSV;
@ -12,6 +14,8 @@ setup
teardown
{
DROP TABLE IF EXISTS truncate_table CASCADE;
SELECT citus_remove_node('localhost', 57636);
SELECT citus_internal.restore_isolation_tester_func();
}

View File

@ -269,6 +269,9 @@ EXECUTE router_with_only_function;
INSERT INTO user_info_data VALUES(1, ('test', 1)::user_data);
EXECUTE router_with_only_function;
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
\c - - - :worker_2_port
SET citus.log_local_commands TO ON;
@ -546,5 +549,9 @@ EXECUTE router_with_only_function;
-- suppress notices
\c - - - :master_port
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
SET client_min_messages TO ERROR;
DROP SCHEMA coordinator_evaluation_combinations_modify CASCADE;

View File

@ -1,6 +1,9 @@
CREATE SCHEMA local_shard_execution;
SET search_path TO local_shard_execution;
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
SET citus.shard_count TO 4;
SET citus.shard_replication_factor TO 1;
SET citus.next_shard_id TO 1470000;
@ -1131,6 +1134,9 @@ ALTER SYSTEM RESET citus.local_hostname;
SELECT pg_reload_conf();
SELECT pg_sleep(.1); -- wait to make sure the config has changed before running the GUC
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
SET client_min_messages TO ERROR;
SET search_path TO public;
DROP SCHEMA local_shard_execution CASCADE;

View File

@ -1,6 +1,9 @@
CREATE SCHEMA local_shard_execution_replicated;
SET search_path TO local_shard_execution_replicated;
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
SET citus.shard_count TO 4;
SET citus.shard_replication_factor TO 2;
SET citus.next_shard_id TO 1500000;
@ -1089,6 +1092,9 @@ DO UPDATE SET response = EXCLUDED.response RETURNING *;
\c - - - :master_port
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
SET client_min_messages TO ERROR;
SET search_path TO public;
DROP SCHEMA local_shard_execution_replicated CASCADE;

View File

@ -60,6 +60,8 @@ BEGIN;
SELECT count(*) FROM replicated_table;
ROLLBACK;
-- add coordinator to metadata so the TRUNCATE from workers does not fail
SELECT citus_set_coordinator_host('localhost', :master_port);
\c - - - :worker_1_port
SET search_path TO 'truncate_from_workers';
@ -143,6 +145,9 @@ RESET client_min_messages;
\c - - - :master_port
-- remove coordinator from metadata
SELECT citus_remove_node('localhost', :master_port);
-- also test the infrastructure that is used for supporting
-- TRUNCATE from worker nodes

View File

@ -116,8 +116,15 @@ COPY data FROM STDIN WITH (format csv, delimiter '|', escape '\');
\.
-- run pg_dump on worker (which has shards)
-- fails due to the coordinator not being in the metadata
\COPY output FROM PROGRAM 'PGAPPNAME=pg_dump pg_dump -f results/pg_dump.tmp -h localhost -p 57637 -U postgres -d regression -n dumper --quote-all-identifiers'
SELECT citus_set_coordinator_host('localhost', :master_port);
-- succeeds
\COPY output FROM PROGRAM 'PGAPPNAME=pg_dump pg_dump -f results/pg_dump.tmp -h localhost -p 57637 -U postgres -d regression -n dumper --quote-all-identifiers'
SELECT citus_remove_node('localhost', :master_port);
-- restore pg_dump from worker via coordinator
DROP SCHEMA dumper CASCADE;
\COPY (SELECT line FROM output WHERE line IS NOT NULL) TO PROGRAM 'psql -qtAX -h localhost -p 57636 -U postgres -d regression -f results/pg_dump.tmp'