Update isolation tests with new output

update/isolation_outputs
Sait Talha Nisanci 2021-08-20 14:42:22 +03:00
parent 262f89359e
commit f422d05926
78 changed files with 13660 additions and 6327 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -11,74 +13,96 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-router-select: SELECT * FROM append_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-real-time-select: SELECT * FROM append_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM append_copy AS t1 JOIN append_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
SET citus.enable_repartition_joins TO ON;
SELECT * FROM append_copy AS t1 JOIN append_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -87,12 +111,16 @@ step s2-insert: INSERT INTO append_copy VALUES(0, 'k', 0);
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO append_copy SELECT * FROM append_copy;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -115,12 +147,16 @@ step s2-update: UPDATE append_copy SET data = 'l' WHERE id = 0;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -129,12 +165,16 @@ step s2-delete: DELETE FROM append_copy WHERE id = 1;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -144,12 +184,16 @@ step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -162,7 +206,9 @@ ERROR: relation "append_copy" does not exist
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -172,17 +218,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX append_copy_index ON append_copy(id);
@ -193,17 +245,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -213,17 +271,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,1)
(localhost,57638,t,1)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -233,17 +297,23 @@ step s1-commit: COMMIT;
step s2-ddl-add-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE append_copy ADD new_column int DEFAULT 0;
@ -254,17 +324,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -274,34 +350,46 @@ step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-table-size: SELECT citus_total_relation_size('append_copy');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-master-apply-delete-command s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -310,16 +398,22 @@ step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE
step s1-commit: COMMIT;
step s2-master-apply-delete-command: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -328,16 +422,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('append_copy'::regc
step s1-commit: COMMIT;
step s2-master-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
2
(1 row)
2
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-copy s2-distribute-table s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE append_copy;
step s1-create-non-distributed-table: CREATE TABLE append_copy(id integer, data text, int_data int);
@ -347,78 +447,102 @@ step s2-distribute-table: SELECT create_distributed_table('append_copy', 'id', '
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-router-select: SELECT * FROM append_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-real-time-select: SELECT * FROM append_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM append_copy AS t1 JOIN append_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
SET citus.enable_repartition_joins TO ON;
SELECT * FROM append_copy AS t1 JOIN append_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -427,12 +551,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -441,12 +569,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -455,12 +587,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -469,12 +605,16 @@ step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && ech
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -484,12 +624,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -497,13 +641,15 @@ step s1-drop: DROP TABLE append_copy;
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: relation "append_copy" does not exist
ERROR: relation "append_copy" does not exist
step s1-select-count: SELECT COUNT(*) FROM append_copy;
ERROR: relation "append_copy" does not exist
starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -513,17 +659,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX append_copy_index ON append_copy(id);
@ -534,17 +686,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''append_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -552,20 +710,26 @@ step s1-ddl-add-column: ALTER TABLE append_copy ADD new_column int DEFAULT 0;
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: missing data for column "new_column"
ERROR: missing data for column "new_column"
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE append_copy ADD new_column int DEFAULT 0;
@ -576,17 +740,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -596,82 +766,110 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''append_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('append_copy');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-master-apply-delete-command s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM append_copy WHERE id <= 4;');
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY append_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-master-drop-all-shards: SELECT citus_drop_all_shards('append_copy'::regclass, 'public', 'append_copy');
citus_drop_all_shards
---------------------------------------------------------------------
1
(1 row)
1
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE append_copy;
step s1-create-non-distributed-table: CREATE TABLE append_copy(id integer, data text, int_data int);
step s1-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('append_copy', 'id', 'append');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-copy: COPY append_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM append_copy;
count
---------------------------------------------------------------------
5
(1 row)
5

View File

@ -18,7 +18,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -26,16 +28,20 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15| 15
172|172
(2 rows)
15 15
172 172
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-begin s2-begin s2-upsert s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-begin:
@ -56,7 +62,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -64,16 +72,20 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15| 16
172|173
(2 rows)
15 16
172 173
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-update s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-insert:
@ -96,7 +108,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -104,16 +118,20 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15| 16
172|173
(2 rows)
15 16
172 173
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-delete s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-insert:
@ -136,7 +154,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -144,14 +164,18 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x|y
---------------------------------------------------------------------
(0 rows)
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-select s1-move-placement s2-end s1-end s1-get-shard-distribution
step s1-insert:
@ -166,15 +190,19 @@ step s2-begin:
step s2-select:
SELECT * FROM logical_replicate_placement ORDER BY y;
x y
x| y
---------------------------------------------------------------------
15| 15
172|172
(2 rows)
15 15
172 172
step s1-move-placement:
SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard;
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-end:
COMMIT;
@ -186,8 +214,10 @@ step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-begin s2-begin s2-copy s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-begin:
@ -207,7 +237,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -215,20 +247,24 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
1| 1
2| 2
3| 3
4| 4
5| 5
15|30
(6 rows)
1 1
2 2
3 3
4 4
5 5
15 30
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-truncate s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-insert:
@ -251,7 +287,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -259,14 +297,18 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x|y
---------------------------------------------------------------------
(0 rows)
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-begin s2-begin s2-alter-table s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-begin:
@ -286,7 +328,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -294,11 +338,15 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y z
x|y|z
---------------------------------------------------------------------
(0 rows)
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638

View File

@ -8,19 +8,25 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO logical_replicate_placement VALUES (15, 15), (172, 172)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard;
@ -29,11 +35,15 @@ step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -41,24 +51,32 @@ step s1-commit:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15| 15
172|172
(2 rows)
15 15
172 172
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-update s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection
@ -72,19 +90,25 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE logical_replicate_placement SET y = y + 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard;
@ -93,11 +117,15 @@ step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -105,24 +133,32 @@ step s1-commit:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15| 16
172|173
(2 rows)
15 16
172 173
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-delete s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection
@ -136,19 +172,25 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM logical_replicate_placement');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard;
@ -157,11 +199,15 @@ step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -169,22 +215,30 @@ step s1-commit:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x|y
---------------------------------------------------------------------
(0 rows)
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-select s1-move-placement s2-commit-worker s1-commit s1-get-shard-distribution s2-stop-connection
@ -198,31 +252,41 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM logical_replicate_placement ORDER BY y');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement(get_shard_id_for_distribution_column, 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes') FROM selected_shard;
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -231,14 +295,20 @@ step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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)

View File

@ -18,7 +18,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -26,15 +28,19 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15|15
(1 row)
15 15
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-begin s2-begin s2-upsert s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-begin:
@ -55,7 +61,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -63,15 +71,19 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15|16
(1 row)
15 16
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-update s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-insert:
@ -94,7 +106,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -102,15 +116,19 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15|16
(1 row)
15 16
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-delete s1-move-placement s2-end s1-end s1-select s1-get-shard-distribution
step s1-insert:
@ -133,7 +151,9 @@ step s2-end:
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-end:
COMMIT;
@ -141,14 +161,18 @@ step s1-end:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x|y
---------------------------------------------------------------------
(0 rows)
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-select s1-move-placement s2-end s1-end s1-get-shard-distribution
step s1-insert:
@ -163,14 +187,18 @@ step s2-begin:
step s2-select:
SELECT * FROM logical_replicate_placement ORDER BY y;
x y
x| y
---------------------------------------------------------------------
15|15
(1 row)
15 15
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-end:
COMMIT;
@ -182,8 +210,10 @@ step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
starting permutation: s1-insert s1-begin s2-begin s2-select-for-update s1-move-placement s2-end s1-end s1-get-shard-distribution
step s1-insert:
@ -198,14 +228,18 @@ step s2-begin:
step s2-select-for-update:
SELECT * FROM logical_replicate_placement WHERE x=15 FOR UPDATE;
x y
x| y
---------------------------------------------------------------------
15|15
(1 row)
15 15
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-end:
COMMIT;
@ -217,5 +251,7 @@ step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638

View File

@ -8,19 +8,25 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO logical_replicate_placement VALUES (15, 15)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
@ -29,11 +35,15 @@ step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -41,23 +51,31 @@ step s1-commit:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15|15
(1 row)
15 15
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-update s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection
@ -71,19 +89,25 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE logical_replicate_placement SET y = y + 1 WHERE x = 15');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
@ -92,11 +116,15 @@ step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -104,23 +132,31 @@ step s1-commit:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x| y
---------------------------------------------------------------------
15|16
(1 row)
15 16
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-delete s1-move-placement s2-commit-worker s1-commit s1-select s1-get-shard-distribution s2-stop-connection
@ -134,19 +170,25 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM logical_replicate_placement WHERE x = 15');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
@ -155,11 +197,15 @@ step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -167,22 +213,30 @@ step s1-commit:
step s1-select:
SELECT * FROM logical_replicate_placement order by y;
x y
x|y
---------------------------------------------------------------------
(0 rows)
step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-select s1-move-placement s2-commit-worker s1-commit s1-get-shard-distribution s2-stop-connection
@ -196,31 +250,41 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM logical_replicate_placement ORDER BY y');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -229,16 +293,22 @@ step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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-insert s1-begin s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-move-placement s2-commit-worker s1-commit s1-get-shard-distribution s2-stop-connection
@ -252,31 +322,41 @@ step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM logical_replicate_placement WHERE x=15 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638, shard_transfer_mode:='block_writes');
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -285,14 +365,20 @@ step s1-get-shard-distribution:
select nodeport from pg_dist_placement inner join pg_dist_node on(pg_dist_placement.groupid = pg_dist_node.groupid) where shardstate != 4 and shardid in (SELECT * FROM selected_shard) order by nodeport;
nodeport
---------------------------------------------------------------------
57638
(1 row)
57638
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)

View File

@ -2,7 +2,9 @@ Parsed test spec with 3 sessions
starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-alter-table s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-cache-connections:
SET citus.max_cached_conns_per_worker TO 4;
@ -25,33 +27,39 @@ step s2-sleep:
SELECT pg_sleep(0.5);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s2-view-dist:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
ALTER TABLE test_table ADD COLUMN x INT;
coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(1 row)
step s3-view-worker:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
SELECT worker_apply_shard_ddl_command (1300004, 'public', '
ALTER TABLE test_table ADD COLUMN x INT;
')localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression
')|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
SELECT worker_apply_shard_ddl_command (1300003, 'public', '
ALTER TABLE test_table ADD COLUMN x INT;
')localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression
')|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
SELECT worker_apply_shard_ddl_command (1300002, 'public', '
ALTER TABLE test_table ADD COLUMN x INT;
')localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression
')|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
SELECT worker_apply_shard_ddl_command (1300001, 'public', '
ALTER TABLE test_table ADD COLUMN x INT;
')localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression
')|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(4 rows)
step s2-rollback:
ROLLBACK;
@ -64,7 +72,9 @@ step s3-rollback:
starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-insert s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-cache-connections:
SET citus.max_cached_conns_per_worker TO 4;
@ -87,22 +97,28 @@ step s2-sleep:
SELECT pg_sleep(0.5);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s2-view-dist:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
INSERT INTO test_table VALUES (100, 100);
coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(1 row)
step s3-view-worker:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
INSERT INTO public.test_table_1300008 (column1, column2) VALUES (100, 100)|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(1 row)
INSERT INTO public.test_table_1300008 (column1, column2) VALUES (100, 100)localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression
step s2-rollback:
ROLLBACK;
@ -115,7 +131,9 @@ step s3-rollback:
starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-select s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-cache-connections:
SET citus.max_cached_conns_per_worker TO 4;
@ -135,31 +153,39 @@ step s1-select:
SELECT count(*) FROM test_table;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-sleep:
SELECT pg_sleep(0.5);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s2-view-dist:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
SELECT count(*) FROM test_table;
coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(1 row)
step s3-view-worker:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
SELECT count(*) AS count FROM public.test_table_1300014 test_table WHERE true|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
SELECT count(*) AS count FROM public.test_table_1300013 test_table WHERE true|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
SELECT count(*) AS count FROM public.test_table_1300012 test_table WHERE true|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
SELECT count(*) AS count FROM public.test_table_1300011 test_table WHERE true|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(4 rows)
SELECT count(*) AS count FROM public.test_table_1300014 test_table WHERE truelocalhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression
SELECT count(*) AS count FROM public.test_table_1300013 test_table WHERE truelocalhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression
SELECT count(*) AS count FROM public.test_table_1300012 test_table WHERE truelocalhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression
SELECT count(*) AS count FROM public.test_table_1300011 test_table WHERE truelocalhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression
step s2-rollback:
ROLLBACK;
@ -172,7 +198,9 @@ step s3-rollback:
starting permutation: s1-cache-connections s1-begin s2-begin s3-begin s1-select-router s2-sleep s2-view-dist s3-view-worker s2-rollback s1-commit s3-rollback
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-cache-connections:
SET citus.max_cached_conns_per_worker TO 4;
@ -192,28 +220,36 @@ step s1-select-router:
SELECT count(*) FROM test_table WHERE column1 = 55;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-sleep:
SELECT pg_sleep(0.5);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s2-view-dist:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
SELECT count(*) FROM test_table WHERE column1 = 55;
coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(1 row)
step s3-view-worker:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_worker_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname|query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
SELECT count(*) AS count FROM public.test_table_1300017 test_table WHERE (column1 OPERATOR(pg_catalog.=) 55)|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(1 row)
SELECT count(*) AS count FROM public.test_table_1300017 test_table WHERE (column1 OPERATOR(pg_catalog.=) 55)localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression
step s2-rollback:
ROLLBACK;

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-drop-table s2-citus-update-table-statistics s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -20,13 +22,17 @@ step s1-commit:
step s2-citus-update-table-statistics: <... completed>
s2: NOTICE: relation with OID XXXX does not exist, skipping
citus_update_table_statistics
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-begin s1-drop-table s2-citus-shards s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -42,12 +48,16 @@ step s1-commit:
step s2-citus-shards: <... completed>
result
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s2-begin s2-citus-shards s1-drop-table s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -56,8 +66,10 @@ step s2-citus-shards:
SELECT 1 AS result FROM citus_shards GROUP BY result;
result
---------------------------------------------------------------------
1
(1 row)
1
step s1-drop-table:
DROP TABLE dist_table;
@ -67,7 +79,9 @@ step s2-commit:
starting permutation: s2-begin s2-citus-update-table-statistics s1-drop-table s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -77,8 +91,10 @@ step s2-citus-update-table-statistics:
SELECT citus_update_table_statistics(logicalrelid) FROM pg_dist_partition;
citus_update_table_statistics
---------------------------------------------------------------------
(2 rows)
step s1-drop-table:
DROP TABLE dist_table;
@ -87,4 +103,4 @@ step s2-commit:
COMMIT;
step s1-drop-table: <... completed>
error in steps s2-commit s1-drop-table: ERROR: tuple concurrently deleted
ERROR: tuple concurrently deleted

View File

@ -6,8 +6,12 @@ step s1a:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
?column?
---------------------------------------------------------------------
1
(1 row)
1

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-insert s2-update s1-commit
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -13,14 +15,16 @@ step s1-insert:
step s2-update:
UPDATE test_concurrent_dml SET data = 'blarg' WHERE test_id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update: <... completed>
starting permutation: s1-insert s2-update
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s1-insert:
INSERT INTO test_concurrent_dml VALUES(1);
@ -31,7 +35,9 @@ step s2-update:
starting permutation: s1-begin s1-multi-insert s2-update s1-commit
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -42,14 +48,16 @@ step s1-multi-insert:
step s2-update:
UPDATE test_concurrent_dml SET data = 'blarg' WHERE test_id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update: <... completed>
starting permutation: s1-begin s1-multi-insert s2-multi-insert-overlap s1-commit
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -66,7 +74,9 @@ step s1-commit:
starting permutation: s1-begin s2-begin s1-multi-insert s2-multi-insert s1-commit s2-commit
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;

View File

@ -2,50 +2,54 @@ Parsed test spec with 2 sessions
starting permutation: s1-load-cache s2-load-cache s2-set-placement-inactive s2-begin s2-repair-placement s1-repair-placement s2-commit
step s1-load-cache:
COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV;
COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV;
step s2-load-cache:
COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV;
COPY test_hash_table FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV;
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638;
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638;
step s2-begin:
BEGIN;
BEGIN;
step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-repair-placement: <... completed>
error in steps s2-commit s1-repair-placement: ERROR: target placement must be in inactive state
ERROR: target placement must be in inactive state
starting permutation: s2-set-placement-inactive s2-begin s2-repair-placement s1-repair-placement s2-commit
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638;
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard_for_test_table) AND nodeport = 57638;
step s2-begin:
BEGIN;
BEGIN;
step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
SELECT master_copy_shard_placement((SELECT * FROM selected_shard_for_test_table), 'localhost', 57637, 'localhost', 57638);
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-repair-placement: <... completed>
error in steps s2-commit s1-repair-placement: ERROR: target placement must be in inactive state
ERROR: target placement must be in inactive state

View File

@ -15,8 +15,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
1
(1 row)
1
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -27,7 +29,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-update:
UPDATE test_repair_placement_vs_modification SET y = 5 WHERE x = 5;
@ -49,10 +53,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 5
57638|t | 5
(2 rows)
57637 t 5
57638 t 5
starting permutation: s1-load-cache s1-insert s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-delete s2-commit s1-commit s2-print-content
step s1-load-cache:
@ -69,8 +75,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
1
(1 row)
1
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -81,7 +89,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-delete:
DELETE FROM test_repair_placement_vs_modification WHERE x = 5;
@ -103,10 +113,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t |
57638|t |
(2 rows)
57637 t
57638 t
starting permutation: s1-load-cache s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-insert s2-commit s1-commit s2-print-content
step s1-load-cache:
@ -120,8 +132,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -132,7 +146,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-insert:
INSERT INTO test_repair_placement_vs_modification VALUES (5, 10);
@ -154,10 +170,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 10
57638|t | 10
(2 rows)
57637 t 10
57638 t 10
starting permutation: s1-load-cache s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-copy s2-commit s1-commit s2-print-content
step s1-load-cache:
@ -171,8 +189,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -183,7 +203,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-copy:
COPY test_repair_placement_vs_modification FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV;
@ -205,10 +227,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 5
57638|t | 5
(2 rows)
57637 t 5
57638 t 5
starting permutation: s1-load-cache s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-ddl s2-commit s1-commit s2-print-index-count
step s1-load-cache:
@ -222,8 +246,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -234,7 +260,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-ddl:
CREATE INDEX test_repair_placement_vs_modification_index ON test_repair_placement_vs_modification(x);
@ -254,12 +282,14 @@ step s2-print-index-count:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 1
57637|t | 1
57638|t | 1
57638|t | 1
(4 rows)
57637 t 1
57637 t 1
57638 t 1
57638 t 1
starting permutation: s1-insert s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-update s2-commit s1-commit s2-print-content
step s1-insert:
@ -273,8 +303,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
1
(1 row)
1
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -285,7 +317,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-update:
UPDATE test_repair_placement_vs_modification SET y = 5 WHERE x = 5;
@ -307,10 +341,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 5
57638|t | 5
(2 rows)
57637 t 5
57638 t 5
starting permutation: s1-insert s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-delete s2-commit s1-commit s2-print-content
step s1-insert:
@ -324,8 +360,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
1
(1 row)
1
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -336,7 +374,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-delete:
DELETE FROM test_repair_placement_vs_modification WHERE x = 5;
@ -358,10 +398,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t |
57638|t |
(2 rows)
57637 t
57638 t
starting permutation: s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-insert s2-commit s1-commit s2-print-content
step s1-begin:
@ -372,8 +414,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -384,7 +428,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-insert:
INSERT INTO test_repair_placement_vs_modification VALUES (5, 10);
@ -406,10 +452,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 10
57638|t | 10
(2 rows)
57637 t 10
57638 t 10
starting permutation: s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-copy s2-commit s1-commit s2-print-content
step s1-begin:
@ -420,8 +468,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -432,7 +482,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-copy:
COPY test_repair_placement_vs_modification FROM PROGRAM 'echo 1,1 && echo 2,2 && echo 3,3 && echo 4,4 && echo 5,5' WITH CSV;
@ -454,10 +506,12 @@ step s2-print-content:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 5
57638|t | 5
(2 rows)
57637 t 5
57638 t 5
starting permutation: s1-begin s1-select s2-set-placement-inactive s2-begin s2-repair-placement s1-ddl s2-commit s1-commit s2-print-index-count
step s1-begin:
@ -468,8 +522,10 @@ step s1-select:
SELECT count(*) FROM test_repair_placement_vs_modification WHERE x = 5;
count
---------------------------------------------------------------------
0
(1 row)
0
step s2-set-placement-inactive:
UPDATE pg_dist_shard_placement SET shardstate = 3 WHERE shardid IN (SELECT * FROM selected_shard) AND nodeport = 57638;
@ -480,7 +536,9 @@ step s2-repair-placement:
SELECT master_copy_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-ddl:
CREATE INDEX test_repair_placement_vs_modification_index ON test_repair_placement_vs_modification(x);
@ -500,9 +558,11 @@ step s2-print-index-count:
ORDER BY
nodeport;
nodeport success result
nodeport|success|result
---------------------------------------------------------------------
57637|t | 1
57637|t | 1
57638|t | 1
57638|t | 1
(4 rows)
57637 t 1
57637 t 1
57638 t 1
57638 t 1

View File

@ -5,70 +5,94 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 8, 80 && echo 9, 90''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 8, 80 && echo 9, 90''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM copy_table;
SELECT COUNT(*) FROM copy_table;
count
---------------------------------------------------------------------
11
(1 row)
11
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy s2-begin s2-coordinator-drop s1-commit-worker s2-commit s1-stop-connection s3-select-count
@ -76,48 +100,60 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
BEGIN;
step s2-coordinator-drop:
DROP TABLE copy_table;
DROP TABLE copy_table;
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-coordinator-drop: <... completed>
step s2-commit:
COMMIT;
COMMIT;
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-select-count:
SELECT COUNT(*) FROM copy_table;
SELECT COUNT(*) FROM copy_table;
ERROR: relation "copy_table" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy 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 s3-select-count
@ -125,68 +161,92 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY copy_table FROM PROGRAM ''echo 5, 50 && echo 6, 60 && echo 7, 70''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM copy_table WHERE id=5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM copy_table WHERE id=5 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM copy_table;
SELECT COUNT(*) FROM copy_table;
count
---------------------------------------------------------------------
8
(1 row)
8
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -5,15 +5,19 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); <waiting ...>
step s1-commit: COMMIT;
step s2-create-citus-local-table-1: <... completed>
error in steps s1-commit s2-create-citus-local-table-1: ERROR: relation "citus_local_table_1_xxxxxxx" is a shard relation
ERROR: relation "citus_local_table_1_xxxxxxx" is a shard relation
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-create-citus-local-table-3 s2-create-citus-local-table-3 s1-commit s2-commit
@ -21,15 +25,19 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-3: SELECT citus_add_local_table_to_metadata('another_schema.citus_local_table_3');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-create-citus-local-table-3: SELECT citus_add_local_table_to_metadata('another_schema.citus_local_table_3'); <waiting ...>
step s1-commit: COMMIT;
step s2-create-citus-local-table-3: <... completed>
error in steps s1-commit s2-create-citus-local-table-3: ERROR: relation "citus_local_table_3_xxxxxxx" is a shard relation
ERROR: relation "citus_local_table_3_xxxxxxx" is a shard relation
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-create-citus-local-table-1 s1-rollback s2-commit
@ -37,17 +45,23 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); <waiting ...>
step s1-rollback: ROLLBACK;
step s2-create-citus-local-table-1: <... completed>
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-select s1-commit s2-commit
@ -55,16 +69,22 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-select: SELECT * FROM citus_local_table_1; <waiting ...>
step s1-commit: COMMIT;
step s2-select: <... completed>
a
-
(0 rows)
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-update s1-commit s2-commit
@ -72,14 +92,18 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-update: UPDATE citus_local_table_1 SET a=1 WHERE a=2; <waiting ...>
step s1-commit: COMMIT;
step s2-update: <... completed>
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-truncate s1-commit s2-commit
@ -87,33 +111,43 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-truncate: TRUNCATE citus_local_table_1; <waiting ...>
step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s2-create-citus-local-table-2 s1-begin s2-begin s1-create-citus-local-table-1 s2-fkey-to-another s1-commit s2-commit
step s2-create-citus-local-table-2: SELECT citus_add_local_table_to_metadata('citus_local_table_2');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-fkey-to-another: ALTER TABLE citus_local_table_1 ADD CONSTRAINT fkey_c_to_c FOREIGN KEY(a) REFERENCES citus_local_table_2(a); <waiting ...>
step s1-commit: COMMIT;
step s2-fkey-to-another: <... completed>
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-create-citus-local-table-1 s2-remove-coordinator s1-commit s2-commit
@ -121,15 +155,19 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1');
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-remove-coordinator: SELECT master_remove_node('localhost', 57636); <waiting ...>
step s1-commit: COMMIT;
step s2-remove-coordinator: <... completed>
error in steps s1-commit s2-remove-coordinator: ERROR: cannot remove the primary node of a node group which has shard placements
ERROR: cannot remove the primary node of a node group which has shard placements
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-drop-table s2-create-citus-local-table-1 s1-commit s2-commit
@ -139,10 +177,12 @@ step s1-drop-table: DROP TABLE citus_local_table_1;
step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); <waiting ...>
step s1-commit: COMMIT;
step s2-create-citus-local-table-1: <... completed>
error in steps s1-commit s2-create-citus-local-table-1: ERROR: cannot add local table to metadata, relation does not exist
ERROR: cannot add local table to metadata, relation does not exist
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-delete s2-create-citus-local-table-1 s1-commit s2-commit
@ -153,11 +193,15 @@ step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('ci
step s1-commit: COMMIT;
step s2-create-citus-local-table-1: <... completed>
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-select s2-create-citus-local-table-1 s1-commit s2-commit
@ -165,16 +209,22 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-select: SELECT * FROM citus_local_table_1;
a
-
(0 rows)
step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); <waiting ...>
step s1-commit: COMMIT;
step s2-create-citus-local-table-1: <... completed>
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-remove-coordinator s2-create-citus-local-table-1 s1-commit s2-commit
@ -182,34 +232,46 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-remove-coordinator: SELECT master_remove_node('localhost', 57636);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); <waiting ...>
step s1-commit: COMMIT;
step s2-create-citus-local-table-1: <... completed>
error in steps s1-commit s2-create-citus-local-table-1: ERROR: could not find the coordinator node in metadata as it is not added as a worker
ERROR: could not find the coordinator node in metadata as it is not added as a worker
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(0 rows)
starting permutation: s1-remove-coordinator s1-begin s2-begin s1-add-coordinator s2-create-citus-local-table-1 s1-commit s2-commit
step s1-remove-coordinator: SELECT master_remove_node('localhost', 57636);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-add-coordinator: SELECT 1 FROM master_add_node('localhost', 57636, 0);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-create-citus-local-table-1: SELECT citus_add_local_table_to_metadata('citus_local_table_1'); <waiting ...>
step s1-commit: COMMIT;
step s2-create-citus-local-table-1: <... completed>
citus_add_local_table_to_metadata
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)

View File

@ -5,24 +5,26 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-create_distributed_table:
SELECT create_distributed_table('table_to_distribute', 'id');
SELECT create_distributed_table('table_to_distribute', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-create_distributed_table:
SELECT create_distributed_table('table_to_distribute', 'id');
SELECT create_distributed_table('table_to_distribute', 'id');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create_distributed_table: <... completed>
error in steps s1-commit s2-create_distributed_table: ERROR: table "table_to_distribute" is already distributed
ERROR: table "table_to_distribute" is already distributed
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-create_distributed_table s2-copy_to_local_table s1-commit s2-commit
@ -30,23 +32,25 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-create_distributed_table:
SELECT create_distributed_table('table_to_distribute', 'id');
SELECT create_distributed_table('table_to_distribute', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-copy_to_local_table:
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-copy_to_local_table: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s2-copy_to_local_table s1-create_distributed_table s2-commit s1-commit
@ -54,20 +58,22 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-copy_to_local_table:
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
step s1-create_distributed_table:
SELECT create_distributed_table('table_to_distribute', 'id');
SELECT create_distributed_table('table_to_distribute', 'id');
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-create_distributed_table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -75,28 +81,30 @@ step s1-commit:
starting permutation: s1-copy_to_local_table s1-begin s2-begin s1-create_distributed_table s2-create_distributed_table s1-commit s2-commit
step s1-copy_to_local_table:
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
COPY table_to_distribute FROM PROGRAM 'echo 0 && echo 1 && echo 2 && echo 3 && echo 4 && echo 5 && echo 6 && echo 7 && echo 8';
step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-create_distributed_table:
SELECT create_distributed_table('table_to_distribute', 'id');
SELECT create_distributed_table('table_to_distribute', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-create_distributed_table:
SELECT create_distributed_table('table_to_distribute', 'id');
SELECT create_distributed_table('table_to_distribute', 'id');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create_distributed_table: <... completed>
error in steps s1-commit s2-create_distributed_table: ERROR: table "table_to_distribute" is already distributed
ERROR: table "table_to_distribute" is already distributed
step s2-commit:
COMMIT;
COMMIT;

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-create-distributed s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -13,7 +15,9 @@ step s1-create-distributed:
SELECT create_distributed_table('test_create_distributed_table', 'test_id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
@ -23,12 +27,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-insert s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -41,15 +49,19 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-commit:
COMMIT;
starting permutation: s1-begin s1-modify-multiple s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -62,15 +74,19 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-commit:
COMMIT;
starting permutation: s1-begin s1-ddl s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -87,12 +103,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-copy s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -105,15 +125,19 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-commit:
COMMIT;
starting permutation: s1-begin s1-recover s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -123,8 +147,10 @@ step s1-recover:
SELECT recover_prepared_transactions();
recover_prepared_transactions
---------------------------------------------------------------------
0
(1 row)
0
step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
<waiting ...>
@ -133,12 +159,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-drop s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -155,12 +185,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-add-node s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -170,8 +204,10 @@ step s1-add-node:
SELECT 1 FROM master_add_inactive_node('localhost', 9999);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
<waiting ...>
@ -180,12 +216,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-remove-node s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -195,7 +235,9 @@ step s1-remove-node:
SELECT master_remove_node('localhost', 9999);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
@ -205,12 +247,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-create-restore s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -220,8 +266,10 @@ step s1-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test-2');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
<waiting ...>
@ -230,12 +278,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s2-begin s2-create-restore s1-modify-multiple s2-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -244,8 +296,10 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-modify-multiple:
UPDATE restore_table SET data = 'world';
<waiting ...>
@ -256,7 +310,9 @@ step s1-modify-multiple: <... completed>
starting permutation: s2-begin s2-create-restore s1-ddl s2-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -265,8 +321,10 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-ddl:
ALTER TABLE restore_table ADD COLUMN x int;
<waiting ...>
@ -277,7 +335,9 @@ step s1-ddl: <... completed>
starting permutation: s2-begin s2-create-restore s1-multi-statement s2-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -286,8 +346,10 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-multi-statement:
SET citus.multi_shard_commit_protocol TO '2pc';
BEGIN;
@ -302,7 +364,9 @@ step s1-multi-statement: <... completed>
starting permutation: s1-begin s1-create-reference s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -313,7 +377,9 @@ step s1-create-reference:
SELECT create_reference_table('test_create_reference_table');
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
@ -323,12 +389,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-insert-ref s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -341,15 +411,19 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-commit:
COMMIT;
starting permutation: s1-begin s1-modify-multiple-ref s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -362,15 +436,19 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-commit:
COMMIT;
starting permutation: s1-begin s1-ddl-ref s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -387,12 +465,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s1-begin s1-copy-ref s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -405,15 +487,19 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-commit:
COMMIT;
starting permutation: s1-begin s1-drop-ref s2-create-restore s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -430,12 +516,16 @@ step s1-commit:
step s2-create-restore: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
starting permutation: s2-begin s2-create-restore s1-modify-multiple-ref s2-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -444,8 +534,10 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-modify-multiple-ref:
UPDATE restore_ref_table SET data = 'world';
<waiting ...>
@ -456,7 +548,9 @@ step s1-modify-multiple-ref: <... completed>
starting permutation: s2-begin s2-create-restore s1-ddl-ref s2-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -465,8 +559,10 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-ddl-ref:
ALTER TABLE restore_ref_table ADD COLUMN x int;
<waiting ...>
@ -477,7 +573,9 @@ step s1-ddl-ref: <... completed>
starting permutation: s2-begin s2-create-restore s1-multi-statement-ref s2-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -486,8 +584,10 @@ step s2-create-restore:
SELECT 1 FROM citus_create_restore_point('citus-test');
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-multi-statement-ref:
SET citus.multi_shard_commit_protocol TO '2pc';
BEGIN;

View File

@ -1,9 +1,11 @@
Parsed test spec with 2 sessions
starting permutation: s1-begin s1-add-node-2 s2-create-table-1 s1-commit s1-show-placements s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-begin:
BEGIN;
@ -11,20 +13,24 @@ step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-create-table-1:
SET citus.shard_count TO 4;
SET citus.shard_replication_factor TO 1;
CREATE TABLE dist_table (x int, y int);
SELECT create_distributed_table('dist_table', 'x');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create-table-1: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-show-placements:
SELECT
@ -36,26 +42,34 @@ step s1-show-placements:
ORDER BY
nodename, nodeport;
nodename nodeport
nodename |nodeport
---------------------------------------------------------------------
localhost| 57637
localhost| 57637
localhost| 57638
localhost| 57638
(4 rows)
localhost 57637
localhost 57637
localhost 57638
localhost 57638
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-begin s1-add-node-2 s2-create-table-1 s1-abort s1-show-placements s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-begin:
BEGIN;
@ -63,20 +77,24 @@ step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-create-table-1:
SET citus.shard_count TO 4;
SET citus.shard_replication_factor TO 1;
CREATE TABLE dist_table (x int, y int);
SELECT create_distributed_table('dist_table', 'x');
<waiting ...>
step s1-abort:
step s1-abort:
ABORT;
step s2-create-table-1: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-show-placements:
SELECT
@ -88,25 +106,33 @@ step s1-show-placements:
ORDER BY
nodename, nodeport;
nodename nodeport
nodename |nodeport
---------------------------------------------------------------------
localhost| 57637
localhost| 57637
localhost| 57637
localhost| 57637
(4 rows)
localhost 57637
localhost 57637
localhost 57637
localhost 57637
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s2-begin s2-create-table-1 s1-add-node-2 s2-commit s1-show-placements s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s2-begin:
BEGIN;
@ -117,18 +143,22 @@ step s2-create-table-1:
SELECT create_distributed_table('dist_table', 'x');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-add-node-2: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-show-placements:
SELECT
nodename, nodeport
@ -139,32 +169,42 @@ step s1-show-placements:
ORDER BY
nodename, nodeport;
nodename nodeport
nodename |nodeport
---------------------------------------------------------------------
localhost| 57637
localhost| 57637
localhost| 57637
localhost| 57637
(4 rows)
localhost 57637
localhost 57637
localhost 57637
localhost 57637
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-table-1 s1-commit s1-show-placements s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
@ -172,7 +212,9 @@ step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s2-create-table-1:
SET citus.shard_count TO 4;
@ -180,12 +222,14 @@ step s2-create-table-1:
CREATE TABLE dist_table (x int, y int);
SELECT create_distributed_table('dist_table', 'x');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create-table-1: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-show-placements:
SELECT
@ -197,31 +241,41 @@ step s1-show-placements:
ORDER BY
nodename, nodeport;
nodename nodeport
nodename |nodeport
---------------------------------------------------------------------
localhost| 57637
localhost| 57637
localhost| 57637
localhost| 57637
(4 rows)
localhost 57637
localhost 57637
localhost 57637
localhost 57637
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-table-1 s1-abort s1-show-placements s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
@ -229,7 +283,9 @@ step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s2-create-table-1:
SET citus.shard_count TO 4;
@ -237,12 +293,14 @@ step s2-create-table-1:
CREATE TABLE dist_table (x int, y int);
SELECT create_distributed_table('dist_table', 'x');
<waiting ...>
step s1-abort:
step s1-abort:
ABORT;
step s2-create-table-1: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-show-placements:
SELECT
@ -254,32 +312,42 @@ step s1-show-placements:
ORDER BY
nodename, nodeport;
nodename nodeport
nodename |nodeport
---------------------------------------------------------------------
localhost| 57637
localhost| 57637
localhost| 57638
localhost| 57638
(4 rows)
localhost 57637
localhost 57637
localhost 57638
localhost 57638
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-add-node-2 s2-begin s2-create-table-1 s1-remove-node-2 s2-commit s1-show-placements s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-begin:
BEGIN;
@ -290,16 +358,18 @@ step s2-create-table-1:
SELECT create_distributed_table('dist_table', 'x');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-remove-node-2: <... completed>
error in steps s2-commit s1-remove-node-2: ERROR: cannot remove the primary node of a node group which has shard placements
ERROR: cannot remove the primary node of a node group which has shard placements
step s1-show-placements:
SELECT
nodename, nodeport
@ -310,32 +380,42 @@ step s1-show-placements:
ORDER BY
nodename, nodeport;
nodename nodeport
nodename |nodeport
---------------------------------------------------------------------
localhost| 57637
localhost| 57637
localhost| 57638
localhost| 57638
(4 rows)
localhost 57637
localhost 57637
localhost 57638
localhost 57638
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-table-2 s1-commit s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
@ -343,7 +423,9 @@ step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s2-create-table-2:
SET citus.shard_count TO 4;
@ -351,29 +433,35 @@ step s2-create-table-2:
CREATE TABLE dist_table (x int, y int);
SELECT create_distributed_table('dist_table', 'x');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create-table-2: <... completed>
error in steps s1-commit s2-create-table-2: ERROR: replication_factor (2) exceeds number of worker nodes (1)
ERROR: replication_factor (2) exceeds number of worker nodes (1)
step s2-select:
SELECT * FROM dist_table;
ERROR: relation "dist_table" does not exist
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-node-2 s2-begin s2-create-table-2 s1-remove-node-2 s2-commit s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-begin:
BEGIN;
@ -384,36 +472,46 @@ step s2-create-table-2:
SELECT create_distributed_table('dist_table', 'x');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-remove-node-2: <... completed>
error in steps s2-commit s1-remove-node-2: ERROR: cannot remove the primary node of a node group which has shard placements
ERROR: cannot remove the primary node of a node group which has shard placements
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-add-node-2 s1-begin s1-remove-node-2 s2-create-append-table s1-commit s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
@ -421,7 +519,9 @@ step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
master_remove_node
---------------------------------------------------------------------
(1 row)
step s2-create-append-table:
SET citus.shard_replication_factor TO 1;
@ -429,35 +529,47 @@ step s2-create-append-table:
SELECT create_distributed_table('dist_table', 'x', 'append');
SELECT 1 FROM master_create_empty_shard('dist_table');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create-append-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-add-node-2 s2-begin s2-create-append-table s1-remove-node-2 s2-commit s2-select
node_name node_port
node_name|node_port
---------------------------------------------------------------------
localhost| 57637
(1 row)
localhost 57637
step s1-add-node-2:
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-begin:
BEGIN;
@ -468,25 +580,33 @@ step s2-create-append-table:
SELECT 1 FROM master_create_empty_shard('dist_table');
create_distributed_table
---------------------------------------------------------------------
(1 row)
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-remove-node-2:
SELECT * FROM master_remove_node('localhost', 57638);
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-remove-node-2: <... completed>
error in steps s2-commit s1-remove-node-2: ERROR: cannot remove the primary node of a node group which has shard placements
ERROR: cannot remove the primary node of a node group which has shard placements
step s2-select:
SELECT * FROM dist_table;
x y
x|y
---------------------------------------------------------------------
(0 rows)
master_remove_node
---------------------------------------------------------------------
(2 rows)

View File

@ -2,150 +2,178 @@ Parsed test spec with 2 sessions
starting permutation: s2-begin s2-copy s1-create_distributed_table s2-commit s2-select
step s2-begin:
BEGIN;
BEGIN;
step s2-copy:
COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV;
COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV;
step s1-create_distributed_table:
SELECT create_distributed_table('migration_table', 'test_id');
SELECT create_distributed_table('migration_table', 'test_id');
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-create_distributed_table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT * FROM migration_table ORDER BY test_id;
SELECT * FROM migration_table ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1|hello
(1 row)
1 hello
starting permutation: s1-begin s1-create_distributed_table s2-copy s1-commit s2-select
step s1-begin:
BEGIN;
BEGIN;
step s1-create_distributed_table:
SELECT create_distributed_table('migration_table', 'test_id');
SELECT create_distributed_table('migration_table', 'test_id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-copy:
COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV;
COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-copy: <... completed>
step s2-select:
SELECT * FROM migration_table ORDER BY test_id;
SELECT * FROM migration_table ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1|hello
(1 row)
1 hello
starting permutation: s2-begin s2-insert s1-create_distributed_table s2-commit s2-select
step s2-begin:
BEGIN;
BEGIN;
step s2-insert:
INSERT INTO migration_table VALUES (1, 'hello');
INSERT INTO migration_table VALUES (1, 'hello');
step s1-create_distributed_table:
SELECT create_distributed_table('migration_table', 'test_id');
SELECT create_distributed_table('migration_table', 'test_id');
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-create_distributed_table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT * FROM migration_table ORDER BY test_id;
SELECT * FROM migration_table ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1|hello
(1 row)
1 hello
starting permutation: s1-begin s1-create_distributed_table s2-insert s1-commit s2-select
step s1-begin:
BEGIN;
BEGIN;
step s1-create_distributed_table:
SELECT create_distributed_table('migration_table', 'test_id');
SELECT create_distributed_table('migration_table', 'test_id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-insert:
INSERT INTO migration_table VALUES (1, 'hello');
INSERT INTO migration_table VALUES (1, 'hello');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-insert: <... completed>
step s2-select:
SELECT * FROM migration_table ORDER BY test_id;
SELECT * FROM migration_table ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1|hello
(1 row)
1 hello
starting permutation: s1-begin-serializable s2-copy s1-create_distributed_table s1-commit s2-select
step s1-begin-serializable:
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SELECT 1;
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SELECT 1;
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-copy:
COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV;
COPY migration_table FROM PROGRAM 'echo 1,hello' WITH CSV;
step s1-create_distributed_table:
SELECT create_distributed_table('migration_table', 'test_id');
SELECT create_distributed_table('migration_table', 'test_id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM migration_table ORDER BY test_id;
SELECT * FROM migration_table ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1|hello
(1 row)
1 hello
starting permutation: s1-begin-serializable s2-insert s1-create_distributed_table s1-commit s2-select
step s1-begin-serializable:
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SELECT 1;
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
SELECT 1;
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-insert:
INSERT INTO migration_table VALUES (1, 'hello');
INSERT INTO migration_table VALUES (1, 'hello');
step s1-create_distributed_table:
SELECT create_distributed_table('migration_table', 'test_id');
SELECT create_distributed_table('migration_table', 'test_id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM migration_table ORDER BY test_id;
SELECT * FROM migration_table ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1|hello
(1 row)
1 hello

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-ddl-create-index s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -11,20 +13,26 @@ step s1-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id);
step s2-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-create-index: <... completed>
error in steps s1-commit s2-ddl-create-index: ERROR: duplicate key value violates unique constraint "pg_class_relname_nsp_index"
ERROR: duplicate key value violates unique constraint "pg_class_relname_nsp_index"
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-ddl-create-index-concurrently s1-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -32,19 +40,25 @@ step s1-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id);
step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY ddl_hash_index ON ddl_hash(id); <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
error in steps s1-commit s2-ddl-create-index-concurrently: ERROR: relation "ddl_hash_index" already exists
ERROR: relation "ddl_hash_index" already exists
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-ddl-add-column s1-commit s2-commit s1-show-indexes s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -56,21 +70,29 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-ddl-rename-column s1-commit s2-commit s1-show-indexes s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -82,21 +104,29 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-ddl-create-index s1-commit s2-commit s1-show-columns s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -108,21 +138,29 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-ddl-create-index-concurrently s1-commit s1-show-columns s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -132,21 +170,29 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-ddl-add-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -158,16 +204,22 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-ddl-rename-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -179,16 +231,22 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-ddl-create-index s1-commit s2-commit s1-show-columns s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -200,21 +258,29 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-ddl-create-index-concurrently s1-commit s1-show-columns s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -224,21 +290,29 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-ddl-add-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -250,16 +324,22 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-ddl-rename-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -268,20 +348,26 @@ step s1-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column;
step s2-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column; <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
error in steps s1-commit s2-ddl-rename-column: ERROR: column "data" does not exist
ERROR: column "data" does not exist
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-table-size s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -289,22 +375,30 @@ step s2-begin: BEGIN;
step s1-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id);
step s2-table-size: SELECT citus_total_relation_size('ddl_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-master-modify-multiple-shards s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -316,16 +410,22 @@ step s2-master-modify-multiple-shards: <... completed>
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-ddl-create-index s2-distribute-table s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -337,21 +437,29 @@ step s2-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); <wa
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,4)
(localhost,57638,t,4)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-table-size s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -361,21 +469,29 @@ step s2-table-size: SELECT citus_total_relation_size('ddl_hash'); <waiting ...>
step s1-commit: COMMIT;
step s2-table-size: <... completed>
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-master-modify-multiple-shards s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -387,16 +503,22 @@ step s2-master-modify-multiple-shards: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-ddl-add-column s2-distribute-table s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -408,21 +530,29 @@ step s2-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); <wa
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-table-size s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -432,21 +562,29 @@ step s2-table-size: SELECT citus_total_relation_size('ddl_hash'); <waiting ...>
step s1-commit: COMMIT;
step s2-table-size: <... completed>
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-master-modify-multiple-shards s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -458,16 +596,22 @@ step s2-master-modify-multiple-shards: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-distribute-table s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -479,44 +623,60 @@ step s2-distribute-table: SELECT create_distributed_table('ddl_hash', 'id'); <wa
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-ddl-create-index s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('ddl_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id);
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-ddl-create-index s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -528,16 +688,22 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-ddl-create-index s1-commit s2-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -546,7 +712,9 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-ddl-create-index: CREATE INDEX ddl_hash_index ON ddl_hash(id); <waiting ...>
step s1-commit: COMMIT;
@ -554,37 +722,51 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,4)
(localhost,57638,t,4)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-table-size s2-ddl-create-index-concurrently s1-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('ddl_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY ddl_hash_index ON ddl_hash(id);
step s1-commit: COMMIT;
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-ddl-create-index-concurrently s1-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -594,16 +776,22 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-ddl-create-index-concurrently s1-commit s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -611,46 +799,62 @@ step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2
step s1-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY ddl_hash_index ON ddl_hash(id); <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''ddl_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,4)
(localhost,57638,t,4)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-ddl-add-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('ddl_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-ddl-add-column: ALTER TABLE ddl_hash ADD new_column_2 int DEFAULT 0;
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-ddl-add-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -662,16 +866,22 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-ddl-add-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -680,7 +890,9 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-ddl-add-column: ALTER TABLE ddl_hash ADD new_column_2 int DEFAULT 0; <waiting ...>
step s1-commit: COMMIT;
@ -688,39 +900,53 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-ddl-rename-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('ddl_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column;
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-ddl-rename-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -732,16 +958,22 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-ddl-rename-column s1-commit s2-commit s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE ddl_hash;
step s1-create-non-distributed-table: CREATE TABLE ddl_hash(id integer, data text); COPY ddl_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -750,7 +982,9 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('ddl_hash', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-ddl-rename-column: ALTER TABLE ddl_hash RENAME data TO new_column; <waiting ...>
step s1-commit: COMMIT;
@ -758,9 +992,13 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-delete s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -14,15 +16,21 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -34,15 +42,21 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-drop s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -55,12 +69,16 @@ step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
ERROR: relation "delete_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -72,20 +90,28 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-delete s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX delete_hash_index ON delete_hash(id);
@ -98,20 +124,28 @@ step s2-ddl-drop-index: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-delete s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -121,20 +155,28 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -146,20 +188,28 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-delete s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE delete_hash ADD new_column int DEFAULT 0;
@ -172,20 +222,28 @@ step s2-ddl-drop-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -197,20 +255,28 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-table-size s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -218,21 +284,29 @@ step s2-begin: BEGIN;
step s1-delete: DELETE FROM delete_hash WHERE id = 4;
step s2-table-size: SELECT citus_total_relation_size('delete_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-delete s2-distribute-table s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE delete_hash;
step s1-create-non-distributed-table: CREATE TABLE delete_hash(id integer, data text); COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -244,20 +318,28 @@ step s2-distribute-table: SELECT create_distributed_table('delete_hash', 'id');
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
8
(1 row)
8
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-delete s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -269,15 +351,21 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-delete s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -286,17 +374,21 @@ step s1-drop: DROP TABLE delete_hash;
step s2-delete: DELETE FROM delete_hash WHERE id = 4; <waiting ...>
step s1-commit: COMMIT;
step s2-delete: <... completed>
error in steps s1-commit s2-delete: ERROR: relation "delete_hash" does not exist
ERROR: relation "delete_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
ERROR: relation "delete_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-delete s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -308,20 +400,28 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-delete s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX delete_hash_index ON delete_hash(id);
@ -334,20 +434,28 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''delete_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-delete s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -359,20 +467,28 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-delete s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE delete_hash ADD new_column int DEFAULT 0;
@ -385,20 +501,28 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-delete s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -410,42 +534,58 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''delete_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-delete s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('delete_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-delete: DELETE FROM delete_hash WHERE id = 4;
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-delete s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE delete_hash;
step s1-create-non-distributed-table: CREATE TABLE delete_hash(id integer, data text); COPY delete_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -454,7 +594,9 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('delete_hash', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-delete: DELETE FROM delete_hash WHERE id = 4; <waiting ...>
step s1-commit: COMMIT;
@ -462,8 +604,12 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM delete_hash;
count
---------------------------------------------------------------------
8
(1 row)
8
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,543 +2,725 @@ Parsed test spec with 3 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:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table VALUES (1, 1)');
<waiting ...>
step s1-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
step s1-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
1| 10
2| 20
(2 rows)
1 10
2 20
id value
id|value
---------------------------------------------------------------------
1| 1
1| 1
2| 2
(3 rows)
1 1
1 1
2 2
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-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
2| 20
(1 row)
2 20
id value
id|value
---------------------------------------------------------------------
2| 2
(1 row)
2 2
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-insert-select s1-rollback-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-select:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table SELECT * FROM dist_table');
<waiting ...>
step s1-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
step s1-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-select: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
1| 10
2| 20
(2 rows)
1 10
2 20
id value
id|value
---------------------------------------------------------------------
1| 1
1| 1
2| 2
2| 2
(4 rows)
1 1
1 1
2 2
2 2
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-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=2 WHERE id=1');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
2| 20
3| 10
(2 rows)
2 20
3 10
id value
id|value
---------------------------------------------------------------------
1| 2
2| 2
(2 rows)
1 2
2 2
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-copy s1-rollback-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 1, 1''WITH CSV');
<waiting ...>
step s1-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
step s1-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
1| 10
2| 20
(2 rows)
1 10
2 20
id value
id|value
---------------------------------------------------------------------
1| 1
1| 1
2| 2
(3 rows)
1 1
1 1
2 2
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
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET id=id+2 WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE dist_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
2| 20
3| 10
(2 rows)
2 20
3 10
id value
id|value
---------------------------------------------------------------------
(0 rows)
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-select-for-udpate s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-display
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-udpate:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=1 FOR UPDATE');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-udpate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-display:
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
SELECT * FROM ref_table ORDER BY id, value;
SELECT * FROM dist_table ORDER BY id, value;
id value
id|value
---------------------------------------------------------------------
2| 20
(1 row)
2 20
id value
id|value
---------------------------------------------------------------------
2| 2
(1 row)
2 2
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -16,24 +16,28 @@ step s2-update-2:
step s2-update-1:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s1-update-2:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-1: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-update-2: <... completed>
error in steps deadlock-checker-call s2-update-1 s1-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -57,24 +61,28 @@ step s2-update-2-rep-2:
step s2-update-1-rep-2:
UPDATE deadlock_detection_test_rep_2 SET some_val = 1 WHERE user_id = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s1-update-2-rep-2:
UPDATE deadlock_detection_test_rep_2 SET some_val = 1 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-1-rep-2: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-update-2-rep-2: <... completed>
error in steps deadlock-checker-call s2-update-1-rep-2 s1-update-2-rep-2: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -90,10 +98,10 @@ step s2-begin:
BEGIN;
step s1-set-2pc:
set citus.multi_shard_commit_protocol TO '2pc';
set citus.multi_shard_commit_protocol TO '2pc';
step s2-set-2pc:
set citus.multi_shard_commit_protocol TO '2pc';
set citus.multi_shard_commit_protocol TO '2pc';
step s1-update-1:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 1;
@ -104,24 +112,28 @@ step s2-update-2:
step s2-update-1:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s1-update-2:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-1: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-update-2: <... completed>
error in steps deadlock-checker-call s2-update-1 s1-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -145,24 +157,28 @@ step s2-update-2:
step s1-update-2:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s2-upsert-select-all:
INSERT INTO deadlock_detection_test SELECT * FROM deadlock_detection_test ON CONFLICT(user_id) DO UPDATE SET some_val = deadlock_detection_test.some_val + 5 RETURNING *;
INSERT INTO deadlock_detection_test SELECT * FROM deadlock_detection_test ON CONFLICT(user_id) DO UPDATE SET some_val = deadlock_detection_test.some_val + 5 RETURNING *;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s1-update-2: <... completed>
step s2-upsert-select-all: <... completed>
error in steps deadlock-checker-call s1-update-2 s2-upsert-select-all: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -186,24 +202,28 @@ step s2-update-2:
step s1-update-2:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s2-ddl:
ALTER TABLE deadlock_detection_test ADD COLUMN test_col INT;
ALTER TABLE deadlock_detection_test ADD COLUMN test_col INT;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s1-update-2: <... completed>
step s2-ddl: <... completed>
error in steps deadlock-checker-call s1-update-2 s2-ddl: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -227,18 +247,20 @@ step s2-insert-local-10:
step s2-insert-dist-10:
INSERT INTO deadlock_detection_test VALUES (10, 10);
<waiting ...>
step s1-insert-local-10:
step s1-insert-local-10:
INSERT INTO local_deadlock_table VALUES (10, 10);
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-insert-dist-10: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-insert-local-10: <... completed>
error in steps deadlock-checker-call s2-insert-dist-10 s1-insert-local-10: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -262,18 +284,20 @@ step s1-insert-ref-11:
step s1-insert-ref-10:
INSERT INTO deadlock_detection_reference VALUES (10, 10);
<waiting ...>
step s2-insert-ref-11:
step s2-insert-ref-11:
INSERT INTO deadlock_detection_reference VALUES (11, 11);
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s1-insert-ref-10: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s2-insert-ref-11: <... completed>
error in steps deadlock-checker-call s1-insert-ref-10 s2-insert-ref-11: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -298,23 +322,27 @@ step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s2-update-1:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1;
<waiting ...>
step s1-insert-ref-10:
step s1-insert-ref-10:
INSERT INTO deadlock_detection_reference VALUES (10, 10);
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-1: <... completed>
step s1-insert-ref-10: <... completed>
error in steps deadlock-checker-call s2-update-1 s1-insert-ref-10: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -345,26 +373,30 @@ step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s1-update-2:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2;
<waiting ...>
step s2-update-3:
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
<waiting ...>
step s3-update-1:
step s3-update-1:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-3: <... completed>
step s3-update-1: <... completed>
error in steps deadlock-checker-call s2-update-3 s3-update-1: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s3-commit:
COMMIT;
@ -392,7 +424,7 @@ step s2-update-1:
step s1-update-1:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 1;
<waiting ...>
step s2-update-2:
step s2-update-2:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2;
step s3-update-3:
@ -401,24 +433,28 @@ step s3-update-3:
step s3-update-2:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s3-update-2: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s2-update-3: <... completed>
error in steps deadlock-checker-call s3-update-2 s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s3-commit:
COMMIT;
@ -455,27 +491,31 @@ step s3-update-3:
step s3-update-2:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s4-update-4:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 4;
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s3-update-2: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s2-update-3: <... completed>
error in steps deadlock-checker-call s3-update-2 s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s3-commit:
COMMIT;
@ -508,12 +548,14 @@ step s4-update-1:
step s1-update-1:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s2-update-2:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2;
@ -523,18 +565,20 @@ step s3-update-3:
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
<waiting ...>
step s3-update-2:
step s3-update-2:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-3: <... completed>
step s3-update-2: <... completed>
error in steps deadlock-checker-call s2-update-3 s3-update-2: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s3-commit:
COMMIT;
@ -577,21 +621,23 @@ step s3-update-3:
step s3-update-2:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 2;
<waiting ...>
step s4-update-1:
step s4-update-1:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 1;
<waiting ...>
step s1-update-4:
step s1-update-4:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 4;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s4-update-1: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-update-4: <... completed>
error in steps deadlock-checker-call s4-update-1 s1-update-4: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -601,15 +647,17 @@ step s4-commit:
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s3-update-2: <... completed>
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s2-update-3: <... completed>
error in steps deadlock-checker-call s3-update-2 s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s2-commit:
COMMIT;
@ -654,33 +702,37 @@ step s4-update-4:
step s3-update-4:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 4;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s6-update-6:
UPDATE deadlock_detection_test SET some_val = 6 WHERE user_id = 6;
step s4-update-6:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 6;
<waiting ...>
step s1-update-5:
step s1-update-5:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 5;
<waiting ...>
step s5-update-1:
step s5-update-1:
UPDATE deadlock_detection_test SET some_val = 5 WHERE user_id = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s1-update-5: <... completed>
step s5-update-1: <... completed>
error in steps deadlock-checker-call s1-update-5 s5-update-1: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -730,21 +782,23 @@ step s5-update-5:
step s5-update-6:
UPDATE deadlock_detection_test SET some_val = 5 WHERE user_id = 6;
<waiting ...>
step s4-update-4:
step s4-update-4:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 4;
step s1-update-4:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 4;
<waiting ...>
step s4-update-5:
step s4-update-5:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 5;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
@ -754,18 +808,20 @@ step s3-update-2:
step s2-update-2:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2;
<waiting ...>
step s3-update-3:
step s3-update-3:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 3;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-2: <... completed>
step s3-update-3: <... completed>
error in steps deadlock-checker-call s2-update-2 s3-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s6-commit:
COMMIT;
@ -816,42 +872,46 @@ step s3-update-2:
step s2-update-2:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2;
<waiting ...>
step s4-update-4:
step s4-update-4:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 4;
step s3-update-4:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 4;
<waiting ...>
step s4-update-5:
step s4-update-5:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 5;
<waiting ...>
step s1-update-4:
step s1-update-4:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 4;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s6-update-6:
UPDATE deadlock_detection_test SET some_val = 6 WHERE user_id = 6;
step s5-update-6:
UPDATE deadlock_detection_test SET some_val = 5 WHERE user_id = 6;
<waiting ...>
step s6-update-5:
step s6-update-5:
UPDATE deadlock_detection_test SET some_val = 6 WHERE user_id = 5;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s5-update-6: <... completed>
step s6-update-5: <... completed>
error in steps deadlock-checker-call s5-update-6 s6-update-5: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s5-commit:
COMMIT;
@ -903,44 +963,52 @@ step s2-update-4:
step s2-update-3:
UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 3;
<waiting ...>
step s4-update-2:
step s4-update-2:
UPDATE deadlock_detection_test SET some_val = 4 WHERE user_id = 2;
step s5-random-adv-lock:
SELECT pg_advisory_xact_lock(8765);
pg_advisory_xact_lock
---------------------------------------------------------------------
(1 row)
step s4-random-adv-lock:
SELECT pg_advisory_xact_lock(8765);
<waiting ...>
step s3-update-1:
step s3-update-1:
UPDATE deadlock_detection_test SET some_val = 3 WHERE user_id = 1;
<waiting ...>
step s1-update-2-4:
step s1-update-2-4:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2 OR user_id = 4;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s2-update-3: <... completed>
error in steps deadlock-checker-call s2-update-3: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
f
(1 row)
step s5-commit:
COMMIT;
step s4-random-adv-lock: <... completed>
pg_advisory_xact_lock
---------------------------------------------------------------------
(1 row)
step s4-commit:
COMMIT;

View File

@ -8,14 +8,18 @@ step s1-assign-transaction-id:
SELECT assign_distributed_transaction_id(1, 1, '2015-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step s1-get-all-transactions:
SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3;
SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3;
initiator_node_identifiertransaction_numbertransaction_stamp
initiator_node_identifier|transaction_number|transaction_stamp
---------------------------------------------------------------------
1| 1|Wed Dec 31 16:00:00 2014 PST
(1 row)
1 1 Wed Dec 31 16:00:00 2014 PST
step s2-begin:
BEGIN;
@ -23,14 +27,18 @@ step s2-assign-transaction-id:
SELECT assign_distributed_transaction_id(2, 2, '2015-01-02 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step s2-get-all-transactions:
SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3;
SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3;
initiator_node_identifiertransaction_numbertransaction_stamp
initiator_node_identifier|transaction_number|transaction_stamp
---------------------------------------------------------------------
2| 2|Thu Jan 01 16:00:00 2015 PST
(1 row)
2 2 Thu Jan 01 16:00:00 2015 PST
step s3-begin:
BEGIN;
@ -38,14 +46,18 @@ step s3-assign-transaction-id:
SELECT assign_distributed_transaction_id(3, 3, '2015-01-03 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step s3-get-all-transactions:
SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3;
SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3;
initiator_node_identifiertransaction_numbertransaction_stamp
initiator_node_identifier|transaction_number|transaction_stamp
---------------------------------------------------------------------
3| 3|Fri Jan 02 16:00:00 2015 PST
(1 row)
3 3 Fri Jan 02 16:00:00 2015 PST
step s1-commit:
COMMIT;
@ -58,36 +70,40 @@ step s3-commit:
starting permutation: s1-create-table s1-begin s1-insert s1-verify-current-xact-is-on-worker s1-commit
step s1-create-table:
-- some tests also use distributed table
CREATE TABLE distributed_transaction_id_table(some_value int, other_value int);
SET citus.shard_count TO 4;
SELECT create_distributed_table('distributed_transaction_id_table', 'some_value');
-- some tests also use distributed table
CREATE TABLE distributed_transaction_id_table(some_value int, other_value int);
SET citus.shard_count TO 4;
SELECT create_distributed_table('distributed_transaction_id_table', 'some_value');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
step s1-insert:
INSERT INTO distributed_transaction_id_table VALUES (1, 1);
INSERT INTO distributed_transaction_id_table VALUES (1, 1);
step s1-verify-current-xact-is-on-worker:
SELECT
remote.nodeport,
remote.result = row(xact.initiator_node_identifier, xact.transaction_number)::text AS xact_exists
FROM
get_current_transaction_id() as xact,
run_command_on_workers($$
SELECT row(initiator_node_identifier, transaction_number)
SELECT
remote.nodeport,
remote.result = row(xact.initiator_node_identifier, xact.transaction_number)::text AS xact_exists
FROM
get_current_transaction_id() as xact,
run_command_on_workers($$
SELECT row(initiator_node_identifier, transaction_number)
FROM get_all_active_transactions();
$$) as remote
ORDER BY remote.nodeport ASC;
nodeport xact_exists
nodeport|xact_exists
---------------------------------------------------------------------
57637|t
57638|t
(2 rows)
57637 t
57638 t
step s1-commit:
COMMIT;
@ -100,14 +116,18 @@ step s1-assign-transaction-id:
SELECT assign_distributed_transaction_id(1, 1, '2015-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step s1-has-transaction-number:
SELECT transaction_number > 0 FROM get_current_transaction_id();
?column?
---------------------------------------------------------------------
t
(1 row)
step s2-vacuum:
VACUUM FULL pg_dist_partition;
@ -115,8 +135,10 @@ step s1-has-transaction-number:
SELECT transaction_number > 0 FROM get_current_transaction_id();
?column?
---------------------------------------------------------------------
t
(1 row)
step s1-commit:
COMMIT;

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s2-invalidate-57637 s1-begin s1-insertone s2-repair s1-commit
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -16,17 +18,21 @@ step s1-insertone:
step s2-repair:
SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-repair: <... completed>
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
starting permutation: s1-insertone s2-invalidate-57637 s1-begin s1-insertall s2-repair s1-commit
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s1-insertone:
INSERT INTO test_dml_vs_repair VALUES(1, 1);
@ -43,17 +49,21 @@ step s1-insertall:
step s2-repair:
SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-repair: <... completed>
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
starting permutation: s2-invalidate-57637 s2-begin s2-repair s1-insertone s2-commit s2-invalidate-57638 s1-display s2-invalidate-57637 s2-revalidate-57638 s1-display
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -65,12 +75,14 @@ step s2-repair:
SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-insertone:
INSERT INTO test_dml_vs_repair VALUES(1, 1);
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-insertone: <... completed>
@ -80,9 +92,11 @@ step s2-invalidate-57638:
step s1-display:
SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1| 1
(1 row)
1 1
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -92,13 +106,17 @@ step s2-revalidate-57638:
step s1-display:
SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1| 1
(1 row)
1 1
starting permutation: s2-invalidate-57637 s1-prepared-insertone s2-begin s2-repair s1-prepared-insertone s2-commit s2-invalidate-57638 s1-display s2-invalidate-57637 s2-revalidate-57638 s1-display
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -113,12 +131,14 @@ step s2-repair:
SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-prepared-insertone:
EXECUTE insertone;
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-prepared-insertone: <... completed>
@ -128,10 +148,12 @@ step s2-invalidate-57638:
step s1-display:
SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1| 1
1| 1
(2 rows)
1 1
1 1
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -141,14 +163,18 @@ step s2-revalidate-57638:
step s1-display:
SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1| 1
1| 1
(2 rows)
1 1
1 1
starting permutation: s2-invalidate-57637 s1-insertone s1-prepared-insertall s2-begin s2-repair s1-prepared-insertall s2-commit s2-invalidate-57638 s1-display s2-invalidate-57637 s2-revalidate-57638 s1-display
master_create_worker_shards
---------------------------------------------------------------------
(1 row)
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -166,12 +192,14 @@ step s2-repair:
SELECT master_copy_shard_placement((SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass), 'localhost', 57638, 'localhost', 57637);
master_copy_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-prepared-insertall:
EXECUTE insertall;
<waiting ...>
step s2-commit:
step s2-commit:
COMMIT;
step s1-prepared-insertall: <... completed>
@ -181,12 +209,14 @@ step s2-invalidate-57638:
step s1-display:
SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1| 1
1| 2
1| 2
1| 3
(4 rows)
1 1
1 2
1 2
1 3
step s2-invalidate-57637:
UPDATE pg_dist_shard_placement SET shardstate = '3' WHERE shardid = (SELECT shardid FROM pg_dist_shard WHERE logicalrelid = 'test_dml_vs_repair'::regclass) AND nodeport = 57637;
@ -196,9 +226,11 @@ step s2-revalidate-57638:
step s1-display:
SELECT * FROM test_dml_vs_repair WHERE test_id = 1 ORDER BY test_id;
test_id data
test_id|data
---------------------------------------------------------------------
1| 1
1| 2
1| 2
1| 3
(4 rows)
1 1
1 2
1 2
1 3

View File

@ -5,112 +5,146 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO dist_table VALUES(5, 55)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-alter:
ALTER TABLE dist_table DROP value;
ALTER TABLE dist_table DROP value;
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-alter: <... completed>
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM dist_table;
SELECT COUNT(*) FROM dist_table;
count
---------------------------------------------------------------------
6
(1 row)
6
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-index s2-start-session-level-connection s2-begin-on-worker s2-select-for-update s1-commit s2-commit-worker s2-stop-connection
step s1-begin:
BEGIN;
BEGIN;
step s1-index:
CREATE INDEX dist_table_index ON dist_table (id);
CREATE INDEX dist_table_index ON dist_table (id);
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
COMMIT;
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
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-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
@ -118,65 +152,87 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-coordinator-create-index-concurrently s1-commit-worker s1-stop-connection
@ -184,35 +240,47 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id = 5 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-coordinator-create-index-concurrently:
CREATE INDEX CONCURRENTLY dist_table_index_conc ON dist_table(id);
CREATE INDEX CONCURRENTLY dist_table_index_conc ON dist_table(id);
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,241 +2,293 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-drop-all-shards s2-truncate s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
citus_drop_all_shards
---------------------------------------------------------------------
16
(1 row)
16
step s2-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-truncate: <... completed>
starting permutation: s1-begin s1-drop-all-shards s2-apply-delete-command s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
citus_drop_all_shards
---------------------------------------------------------------------
16
(1 row)
16
step s2-apply-delete-command:
SELECT master_apply_delete_command('DELETE FROM append_table');
SELECT master_apply_delete_command('DELETE FROM append_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-apply-delete-command: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-begin s1-drop-all-shards s2-drop-all-shards s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
citus_drop_all_shards
---------------------------------------------------------------------
16
(1 row)
16
step s2-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-begin s1-drop-all-shards s2-select s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
citus_drop_all_shards
---------------------------------------------------------------------
16
(1 row)
16
step s2-select:
SELECT * FROM append_table;
SELECT * FROM append_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-select: <... completed>
test_id data
test_id|data
---------------------------------------------------------------------
(0 rows)
starting permutation: s1-begin s1-apply-delete-command s2-truncate s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-apply-delete-command:
SELECT master_apply_delete_command('DELETE FROM append_table');
SELECT master_apply_delete_command('DELETE FROM append_table');
master_apply_delete_command
---------------------------------------------------------------------
16
(1 row)
16
step s2-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-truncate: <... completed>
starting permutation: s1-begin s1-apply-delete-command s2-apply-delete-command s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-apply-delete-command:
SELECT master_apply_delete_command('DELETE FROM append_table');
SELECT master_apply_delete_command('DELETE FROM append_table');
master_apply_delete_command
---------------------------------------------------------------------
16
(1 row)
16
step s2-apply-delete-command:
SELECT master_apply_delete_command('DELETE FROM append_table');
SELECT master_apply_delete_command('DELETE FROM append_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-apply-delete-command: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-begin s1-apply-delete-command s2-drop-all-shards s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-apply-delete-command:
SELECT master_apply_delete_command('DELETE FROM append_table');
SELECT master_apply_delete_command('DELETE FROM append_table');
master_apply_delete_command
---------------------------------------------------------------------
16
(1 row)
16
step s2-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-begin s1-truncate s2-truncate s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
step s2-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-truncate: <... completed>
starting permutation: s1-begin s1-truncate s2-apply-delete-command s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
step s2-apply-delete-command:
SELECT master_apply_delete_command('DELETE FROM append_table');
SELECT master_apply_delete_command('DELETE FROM append_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-apply-delete-command: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-begin s1-truncate s2-drop-all-shards s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
step s2-drop-all-shards:
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
SELECT citus_drop_all_shards('append_table', 'public', 'append_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-begin s1-truncate s2-select s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s1-truncate:
TRUNCATE append_table;
TRUNCATE append_table;
step s2-select:
SELECT * FROM append_table;
SELECT * FROM append_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-select: <... completed>
test_id data
test_id|data
---------------------------------------------------------------------
(0 rows)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-drop s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -11,17 +13,21 @@ step s1-drop: DROP TABLE drop_hash;
step s2-drop: DROP TABLE drop_hash; <waiting ...>
step s1-commit: COMMIT;
step s2-drop: <... completed>
error in steps s1-commit s2-drop: ERROR: table "drop_hash" does not exist
ERROR: table "drop_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -30,22 +36,28 @@ step s1-drop: DROP TABLE drop_hash;
step s2-ddl-create-index: CREATE INDEX drop_hash_index ON drop_hash(id); <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-create-index: <... completed>
error in steps s1-commit s2-ddl-create-index: ERROR: relation "drop_hash" does not exist
ERROR: relation "drop_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-drop s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX drop_hash_index ON drop_hash(id);
@ -55,22 +67,28 @@ step s1-drop: DROP TABLE drop_hash;
step s2-ddl-drop-index: DROP INDEX drop_hash_index; <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-drop-index: <... completed>
error in steps s1-commit s2-ddl-drop-index: ERROR: index "drop_hash_index" does not exist
ERROR: index "drop_hash_index" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-drop s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -78,21 +96,27 @@ step s1-drop: DROP TABLE drop_hash;
step s2-ddl-create-index-concurrently: CREATE INDEX CONCURRENTLY drop_hash_index ON drop_hash(id); <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
error in steps s1-commit s2-ddl-create-index-concurrently: ERROR: relation "drop_hash" does not exist
ERROR: relation "drop_hash" does not exist
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -101,22 +125,28 @@ step s1-drop: DROP TABLE drop_hash;
step s2-ddl-add-column: ALTER TABLE drop_hash ADD new_column int DEFAULT 0; <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-add-column: <... completed>
error in steps s1-commit s2-ddl-add-column: ERROR: relation "drop_hash" does not exist
ERROR: relation "drop_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-drop s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE drop_hash ADD new_column int DEFAULT 0;
@ -126,22 +156,28 @@ step s1-drop: DROP TABLE drop_hash;
step s2-ddl-drop-column: ALTER TABLE drop_hash DROP new_column; <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-drop-column: <... completed>
error in steps s1-commit s2-ddl-drop-column: ERROR: relation "drop_hash" does not exist
ERROR: relation "drop_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -150,22 +186,28 @@ step s1-drop: DROP TABLE drop_hash;
step s2-ddl-rename-column: ALTER TABLE drop_hash RENAME data TO new_column; <waiting ...>
step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
error in steps s1-commit s2-ddl-rename-column: ERROR: relation "drop_hash" does not exist
ERROR: relation "drop_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-table-size s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -174,17 +216,21 @@ step s1-drop: DROP TABLE drop_hash;
step s2-table-size: SELECT citus_total_relation_size('drop_hash'); <waiting ...>
step s1-commit: COMMIT;
step s2-table-size: <... completed>
error in steps s1-commit s2-table-size: ERROR: could not compute table size: relation does not exist
ERROR: could not compute table size: relation does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-drop s2-distribute-table s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE drop_hash;
step s1-create-non-distributed-table: CREATE TABLE drop_hash(id integer, data text); COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -195,17 +241,21 @@ step s1-drop: DROP TABLE drop_hash;
step s2-distribute-table: SELECT create_distributed_table('drop_hash', 'id'); <waiting ...>
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
error in steps s1-commit s2-distribute-table: ERROR: could not create distributed table: relation does not exist
ERROR: could not create distributed table: relation does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-drop s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -219,16 +269,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-drop s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX drop_hash_index ON drop_hash(id);
@ -243,16 +299,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''drop_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-drop s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -266,16 +328,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-drop s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE drop_hash ADD new_column int DEFAULT 0;
@ -290,16 +358,22 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-drop s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -313,36 +387,48 @@ step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''ddl_hash%'' AND column_name = ''drop_hash'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-drop s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('drop_hash');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-drop: DROP TABLE drop_hash;
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-distribute-table s2-drop s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE drop_hash;
step s1-create-non-distributed-table: CREATE TABLE drop_hash(id integer, data text); COPY drop_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
@ -351,7 +437,9 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('drop_hash', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-drop: DROP TABLE drop_hash; <waiting ...>
step s1-commit: COMMIT;
@ -360,5 +448,7 @@ step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM drop_hash;
ERROR: relation "drop_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -26,13 +26,17 @@ step detector-dump-wait-edges:
blocking_transaction_waiting;
SELECT * FROM get_adjacency_list_wait_graph() ORDER BY 1;
waiting_transaction_numblocking_transaction_numblocking_transaction_waiting
waiting_transaction_num|blocking_transaction_num|blocking_transaction_waiting
---------------------------------------------------------------------
401| 400|f
(1 row)
401 400 f
transactionnumberwaitingtransactionnumbers
transactionnumber|waitingtransactionnumbers
---------------------------------------------------------------------
400|
401| 400
(2 rows)
400
401 400
step s1-abort:
ABORT;
@ -73,16 +77,20 @@ step detector-dump-wait-edges:
blocking_transaction_waiting;
SELECT * FROM get_adjacency_list_wait_graph() ORDER BY 1;
waiting_transaction_numblocking_transaction_numblocking_transaction_waiting
waiting_transaction_num|blocking_transaction_num|blocking_transaction_waiting
---------------------------------------------------------------------
405| 404|f
406| 404|f
406| 405|t
(3 rows)
405 404 f
406 404 f
406 405 t
transactionnumberwaitingtransactionnumbers
transactionnumber|waitingtransactionnumbers
---------------------------------------------------------------------
404|
405|404
406|404,405
(3 rows)
404
405 404
406 404,405
step s1-abort:
ABORT;

View File

@ -6,14 +6,18 @@ step dist11-begin:
SELECT assign_distributed_transaction_id(11, 1, '2017-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step dist13-begin:
BEGIN;
SELECT assign_distributed_transaction_id(13, 1, '2017-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step dist11-update:
UPDATE local_table SET y = 1 WHERE x = 1;
@ -21,7 +25,7 @@ step dist11-update:
step dist13-update:
UPDATE local_table SET y = 3 WHERE x = 1;
<waiting ...>
step detector-dump-wait-edges:
step detector-dump-wait-edges:
SELECT
waiting_node_id,
waiting_transaction_num,
@ -35,9 +39,11 @@ step detector-dump-wait-edges:
blocking_transaction_num,
blocking_transaction_waiting;
waiting_node_idwaiting_transaction_numblocking_node_idblocking_transaction_numblocking_transaction_waiting
waiting_node_id|waiting_transaction_num|blocking_node_id|blocking_transaction_num|blocking_transaction_waiting
---------------------------------------------------------------------
13| 1| 11| 1|f
(1 row)
13 1 11 1 f
step dist11-abort:
ABORT;
@ -55,7 +61,9 @@ step dist13-begin:
SELECT assign_distributed_transaction_id(13, 1, '2017-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step local-update:
UPDATE local_table SET y = 2 WHERE x = 1;
@ -63,7 +71,7 @@ step local-update:
step dist13-update:
UPDATE local_table SET y = 3 WHERE x = 1;
<waiting ...>
step detector-dump-wait-edges:
step detector-dump-wait-edges:
SELECT
waiting_node_id,
waiting_transaction_num,
@ -77,9 +85,11 @@ step detector-dump-wait-edges:
blocking_transaction_num,
blocking_transaction_waiting;
waiting_node_idwaiting_transaction_numblocking_node_idblocking_transaction_numblocking_transaction_waiting
waiting_node_id|waiting_transaction_num|blocking_node_id|blocking_transaction_num|blocking_transaction_waiting
---------------------------------------------------------------------
13| 1| 0| |f
(1 row)
13 1 0 f
step local-abort:
ABORT;
@ -94,7 +104,9 @@ step dist11-begin:
SELECT assign_distributed_transaction_id(11, 1, '2017-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step local-begin:
BEGIN;
@ -104,7 +116,9 @@ step dist13-begin:
SELECT assign_distributed_transaction_id(13, 1, '2017-01-01 00:00:00+0');
assign_distributed_transaction_id
---------------------------------------------------------------------
(1 row)
step dist11-update:
UPDATE local_table SET y = 1 WHERE x = 1;
@ -112,10 +126,10 @@ step dist11-update:
step local-update:
UPDATE local_table SET y = 2 WHERE x = 1;
<waiting ...>
step dist13-update:
step dist13-update:
UPDATE local_table SET y = 3 WHERE x = 1;
<waiting ...>
step detector-dump-wait-edges:
step detector-dump-wait-edges:
SELECT
waiting_node_id,
waiting_transaction_num,
@ -129,10 +143,12 @@ step detector-dump-wait-edges:
blocking_transaction_num,
blocking_transaction_waiting;
waiting_node_idwaiting_transaction_numblocking_node_idblocking_transaction_numblocking_transaction_waiting
waiting_node_id|waiting_transaction_num|blocking_node_id|blocking_transaction_num|blocking_transaction_waiting
---------------------------------------------------------------------
0| | 11| 1|f
13| 1| 0| |t
(2 rows)
0 11 1 f
13 1 0 t
step dist11-abort:
ABORT;

File diff suppressed because it is too large Load Diff

View File

@ -2,9 +2,11 @@ Parsed test spec with 3 sessions
starting permutation: s1-grant s1-begin-insert s2-begin-insert s3-as-admin s3-as-user-1 s3-as-readonly s3-as-monitor s1-commit s2-commit
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"GRANT ROLE")
(localhost,57638,t,"GRANT ROLE")
(2 rows)
step s1-grant:
GRANT ALL ON test_table TO test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_1');
@ -12,11 +14,15 @@ step s1-grant:
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
bool_and
---------------------------------------------------------------------
t
(1 row)
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin-insert:
BEGIN;
SET ROLE test_user_1;
@ -33,11 +39,15 @@ step s3-as-admin:
SELECT count(*) FROM get_global_active_transactions();
count
---------------------------------------------------------------------
2
(1 row)
2
count
---------------------------------------------------------------------
4
(1 row)
4
step s3-as-user-1:
-- User should only be able to see its own transactions
SET ROLE test_user_1;
@ -45,11 +55,15 @@ step s3-as-user-1:
SELECT count(*) FROM get_global_active_transactions();
count
---------------------------------------------------------------------
1
(1 row)
1
count
---------------------------------------------------------------------
2
(1 row)
2
step s3-as-readonly:
-- Other user should not see transactions
SET ROLE test_readonly;
@ -57,11 +71,15 @@ step s3-as-readonly:
SELECT count(*) FROM get_global_active_transactions();
count
---------------------------------------------------------------------
0
(1 row)
0
count
---------------------------------------------------------------------
0
(1 row)
0
step s3-as-monitor:
-- Monitor should see all transactions
SET ROLE test_monitor;
@ -69,11 +87,15 @@ step s3-as-monitor:
SELECT count(*) FROM get_global_active_transactions();
count
---------------------------------------------------------------------
2
(1 row)
2
count
---------------------------------------------------------------------
4
(1 row)
4
step s1-commit:
COMMIT;
@ -81,6 +103,8 @@ step s2-commit:
COMMIT;
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,f,"ERROR: role ""test_user_1"" cannot be dropped because some objects depend on it")
(localhost,57638,f,"ERROR: role ""test_user_1"" cannot be dropped because some objects depend on it")
(2 rows)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -11,50 +13,66 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-router-select: SELECT * FROM hash_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-real-time-select: SELECT * FROM hash_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -63,22 +81,28 @@ step s2-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM hash_copy AS t1 JOIN hash_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -87,12 +111,16 @@ step s2-insert: INSERT INTO hash_copy VALUES(0, 'k', 0);
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO hash_copy SELECT * FROM hash_copy;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -115,12 +147,16 @@ step s2-update: UPDATE hash_copy SET data = 'l' WHERE id = 0;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -129,12 +165,16 @@ step s2-delete: DELETE FROM hash_copy WHERE id = 1;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -144,12 +184,16 @@ step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -162,7 +206,9 @@ ERROR: relation "hash_copy" does not exist
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -172,17 +218,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX hash_copy_index ON hash_copy(id);
@ -193,17 +245,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -213,17 +271,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -233,17 +297,23 @@ step s1-commit: COMMIT;
step s2-ddl-add-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE hash_copy ADD new_column int DEFAULT 0;
@ -254,17 +324,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -274,34 +350,46 @@ step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-table-size: SELECT citus_total_relation_size('hash_copy');
citus_total_relation_size
---------------------------------------------------------------------
65536
(1 row)
65536
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -310,12 +398,16 @@ step s2-master-modify-multiple-shards: DELETE FROM hash_copy;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -324,16 +416,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('hash_copy'::regcla
step s1-commit: COMMIT;
step s2-master-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
4
(1 row)
4
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-copy s2-distribute-table s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE hash_copy;
step s1-create-non-distributed-table: CREATE TABLE hash_copy(id integer, data text, int_data int); COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
@ -344,16 +442,22 @@ step s2-distribute-table: SELECT create_distributed_table('hash_copy', 'id'); <w
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-recreate-with-replication-2:
DROP TABLE hash_copy;
@ -362,7 +466,9 @@ step s1-recreate-with-replication-2:
SELECT create_distributed_table('hash_copy', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -372,12 +478,16 @@ step s1-commit: COMMIT;
step s2-update: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-recreate-with-replication-2:
DROP TABLE hash_copy;
@ -386,7 +496,9 @@ step s1-recreate-with-replication-2:
SELECT create_distributed_table('hash_copy', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -396,12 +508,16 @@ step s1-commit: COMMIT;
step s2-delete: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-recreate-with-replication-2:
DROP TABLE hash_copy;
@ -410,7 +526,9 @@ step s1-recreate-with-replication-2:
SELECT create_distributed_table('hash_copy', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -420,12 +538,16 @@ step s1-commit: COMMIT;
step s2-insert-select: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
20
(1 row)
20
starting permutation: s1-recreate-with-replication-2 s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-recreate-with-replication-2:
DROP TABLE hash_copy;
@ -434,7 +556,9 @@ step s1-recreate-with-replication-2:
SELECT create_distributed_table('hash_copy', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -444,50 +568,66 @@ step s1-commit: COMMIT;
step s2-master-modify-multiple-shards: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-router-select: SELECT * FROM hash_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-real-time-select: SELECT * FROM hash_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -495,23 +635,29 @@ step s1-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM hash_copy AS t1 JOIN hash_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -520,12 +666,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -534,12 +684,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -548,12 +702,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -562,12 +720,16 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -577,12 +739,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -590,13 +756,15 @@ step s1-drop: DROP TABLE hash_copy;
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: relation "hash_copy" does not exist
ERROR: relation "hash_copy" does not exist
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
ERROR: relation "hash_copy" does not exist
starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -606,17 +774,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX hash_copy_index ON hash_copy(id);
@ -627,17 +801,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''hash_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -645,20 +825,26 @@ step s1-ddl-add-column: ALTER TABLE hash_copy ADD new_column int DEFAULT 0;
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: missing data for column "new_column"
ERROR: missing data for column "new_column"
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE hash_copy ADD new_column int DEFAULT 0;
@ -669,17 +855,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -689,34 +881,46 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''hash_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('hash_copy');
citus_total_relation_size
---------------------------------------------------------------------
57344
(1 row)
57344
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -725,31 +929,41 @@ step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-master-drop-all-shards: SELECT citus_drop_all_shards('hash_copy'::regclass, 'public', 'hash_copy');
citus_drop_all_shards
---------------------------------------------------------------------
4
(1 row)
4
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: could not find any shards into which to copy
ERROR: could not find any shards into which to copy
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE hash_copy;
step s1-create-non-distributed-table: CREATE TABLE hash_copy(id integer, data text, int_data int); COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
@ -757,12 +971,16 @@ step s1-initialize: COPY hash_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 &&
step s1-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('hash_copy', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-copy: COPY hash_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM hash_copy;
count
---------------------------------------------------------------------
15
(1 row)
15

View File

@ -2,300 +2,326 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-insert-into-select-conflict-update s2-begin s2-update s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
SET citus.shard_replication_factor to 1;
BEGIN;
SET citus.shard_replication_factor to 1;
BEGIN;
step s1-insert-into-select-conflict-update:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
col_1 col_2
col_1|col_2
---------------------------------------------------------------------
1| 1
2| 2
3| 3
4| 4
5| 5
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-begin:
BEGIN;
BEGIN;
step s2-update:
UPDATE target_table SET col_2 = 5;
UPDATE target_table SET col_2 = 5;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-update: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-insert-into-select-conflict-do-nothing s2-begin s2-delete s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
SET citus.shard_replication_factor to 1;
BEGIN;
SET citus.shard_replication_factor to 1;
BEGIN;
step s1-insert-into-select-conflict-do-nothing:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT DO NOTHING;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT DO NOTHING;
step s2-begin:
BEGIN;
BEGIN;
step s2-delete:
DELETE FROM target_table;
DELETE FROM target_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-delete: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-insert-into-select-conflict-do-nothing s2-begin s2-insert-into-select-conflict-update s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
SET citus.shard_replication_factor to 1;
BEGIN;
SET citus.shard_replication_factor to 1;
BEGIN;
step s1-insert-into-select-conflict-do-nothing:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT DO NOTHING;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT DO NOTHING;
step s2-begin:
BEGIN;
BEGIN;
step s2-insert-into-select-conflict-update:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-insert-into-select-conflict-update: <... completed>
col_1 col_2
col_1|col_2
---------------------------------------------------------------------
1| 1
2| 2
3| 3
4| 4
5| 5
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-insert-into-select-conflict-update s2-begin s2-insert-into-select-conflict-update s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
SET citus.shard_replication_factor to 1;
BEGIN;
SET citus.shard_replication_factor to 1;
BEGIN;
step s1-insert-into-select-conflict-update:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
col_1 col_2
col_1|col_2
---------------------------------------------------------------------
1| 1
2| 2
3| 3
4| 4
5| 5
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-begin:
BEGIN;
BEGIN;
step s2-insert-into-select-conflict-update:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-insert-into-select-conflict-update: <... completed>
col_1 col_2
col_1|col_2
---------------------------------------------------------------------
1| 1
2| 2
3| 3
4| 4
5| 5
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-insert-into-select-conflict-update s2-begin s2-insert-into-select-conflict-do-nothing s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
SET citus.shard_replication_factor to 1;
BEGIN;
SET citus.shard_replication_factor to 1;
BEGIN;
step s1-insert-into-select-conflict-update:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
col_1 col_2
col_1|col_2
---------------------------------------------------------------------
1| 1
2| 2
3| 3
4| 4
5| 5
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-begin:
BEGIN;
BEGIN;
step s2-insert-into-select-conflict-do-nothing:
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT DO NOTHING;
INSERT INTO target_table
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT DO NOTHING;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-insert-into-select-conflict-do-nothing: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin-replication-factor-2 s1-insert-into-select-conflict-update-replication-factor-2 s2-begin-replication-factor-2 s2-insert-into-select-conflict-update-replication-factor-2 s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin-replication-factor-2:
SET citus.shard_replication_factor to 2;
BEGIN;
SET citus.shard_replication_factor to 2;
BEGIN;
step s1-insert-into-select-conflict-update-replication-factor-2:
INSERT INTO target_table_2
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table_2
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
col_1 col_2 col_3
col_1|col_2|col_3
---------------------------------------------------------------------
1| 1|
2| 2|
3| 3|
4| 4|
5| 5|
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-begin-replication-factor-2:
SET citus.shard_replication_factor to 2;
BEGIN;
SET citus.shard_replication_factor to 2;
BEGIN;
step s2-insert-into-select-conflict-update-replication-factor-2:
INSERT INTO target_table_2
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
INSERT INTO target_table_2
SELECT
col_1, col_2
FROM (
SELECT
col_1, col_2, col_3
FROM
source_table
LIMIT 5
) as foo
ON CONFLICT(col_1) DO UPDATE SET col_2 = EXCLUDED.col_2 RETURNING *;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-insert-into-select-conflict-update-replication-factor-2: <... completed>
col_1 col_2 col_3
col_1|col_2|col_3
---------------------------------------------------------------------
1| 1|
2| 2|
3| 3|
4| 4|
5| 5|
(5 rows)
1 1
2 2
3 3
4 4
5 5
step s2-commit:
COMMIT;
COMMIT;

View File

@ -8,18 +8,20 @@ step s2-delete-from-source: DELETE FROM source_table;
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-update-source s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -29,18 +31,20 @@ step s2-update-source: UPDATE source_table SET b = 50 - b;
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-insert-into-source s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -50,18 +54,20 @@ step s2-insert-into-source: INSERT INTO source_table VALUES (0, 0);
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s2-delete-from-source s1-repartitioned-insert-select s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -71,18 +77,20 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s2-update-source s1-repartitioned-insert-select s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -92,18 +100,20 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s2-insert-into-source s1-repartitioned-insert-select s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -113,18 +123,20 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-delete-from-target s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -135,7 +147,9 @@ step s1-end: END;
step s2-delete-from-target: <... completed>
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a|b
---------------------------------------------------------------------
(0 rows)
starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-update-target s1-end s2-end s1-select-target
@ -147,18 +161,20 @@ step s1-end: END;
step s2-update-target: <... completed>
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 49
2| 46
3| 41
4| 34
5| 25
6| 14
7| 1
8|-14
9|-31
10|-50
(10 rows)
1 49
2 46
3 41
4 34
5 25
6 14
7 1
8 -14
9 -31
10 -50
starting permutation: s1-begin s2-begin s1-repartitioned-insert-select s2-insert-into-target s1-end s2-end s1-select-target
step s1-begin: BEGIN;
@ -168,19 +184,21 @@ step s2-insert-into-target: INSERT INTO target_table VALUES (0, 0);
step s1-end: END;
step s2-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
0| 0
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(11 rows)
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s2-delete-from-target s1-repartitioned-insert-select s2-end s1-end s1-select-target
step s1-begin: BEGIN;
@ -191,18 +209,20 @@ step s2-end: END;
step s1-repartitioned-insert-select: <... completed>
step s1-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s2-update-target s1-repartitioned-insert-select s2-end s1-end s1-select-target
step s1-begin: BEGIN;
@ -213,18 +233,20 @@ step s2-end: END;
step s1-repartitioned-insert-select: <... completed>
step s1-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(10 rows)
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
starting permutation: s1-begin s2-begin s2-insert-into-target s1-repartitioned-insert-select s2-end s1-end s1-select-target
step s1-begin: BEGIN;
@ -234,16 +256,18 @@ step s1-repartitioned-insert-select: INSERT INTO target_table SELECT * FROM sour
step s2-end: END;
step s1-end: END;
step s1-select-target: SELECT * FROM target_table ORDER BY a;
a b
a| b
---------------------------------------------------------------------
0| 0
1| 1
2| 4
3| 9
4| 16
5| 25
6| 36
7| 49
8| 64
9| 81
10|100
(11 rows)
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,783 +1 @@
Parsed test spec with 3 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:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
7
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-multi-row 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:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert-multi-row:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
9
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-insert-multi-row s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-insert-multi-row:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
9
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-multi-row s2-start-session-level-connection s2-begin-on-worker s2-insert-multi-row s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert-multi-row:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-insert-multi-row:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
11
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-select s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM insert_table WHERE id = 6');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
6
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert s2-start-session-level-connection s2-begin-on-worker s2-insert-select s1-commit-worker s2-commit-worker s3-select-count s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-insert-select:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table SELECT * FROM insert_table');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
11
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting 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
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE insert_table SET value = 65 WHERE id = 6');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
6
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting 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
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert-multi-row:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60), (7, 70), (8, 80)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-update-multi-row:
SELECT run_commands_on_session_level_connection_to_node('UPDATE insert_table SET value = 67 WHERE id IN (6, 7)');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
8
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting 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
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY insert_table FROM PROGRAM ''echo 9, 90 && echo 10, 100''WITH CSV');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
8
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
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
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE insert_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
0
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
starting 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
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO insert_table VALUES(6, 60)');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM insert_table WHERE id = 6 FOR UPDATE');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM insert_table;
count
6
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
restore_isolation_tester_func
undefined step "s2-commit-worker"s3-select-count" specified in permutation

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-insert s2-vacuum-analyze s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -19,7 +21,9 @@ step s1-commit:
starting permutation: s1-begin s1-insert s2-vacuum-full s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -30,7 +34,7 @@ step s1-insert:
step s2-vacuum-full:
VACUUM FULL test_insert_vacuum;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-vacuum-full: <... completed>

View File

@ -16,8 +16,10 @@ step s1-master_append_table_to_shard:
'table_to_append'::regclass::oid = logicalrelid;
master_append_table_to_shard
---------------------------------------------------------------------
0.0426667
(1 row)
0.0426667
step s2-master_append_table_to_shard:
SELECT
master_append_table_to_shard(shardid, 'table_to_be_appended', 'localhost', 57636)
@ -26,13 +28,15 @@ step s2-master_append_table_to_shard:
WHERE
'table_to_append'::regclass::oid = logicalrelid;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-master_append_table_to_shard: <... completed>
master_append_table_to_shard
---------------------------------------------------------------------
0.064
(1 row)
0.064
step s2-commit:
COMMIT;

View File

@ -5,26 +5,30 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-master_apply_delete_command_all_shard:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s2-master_apply_delete_command_all_shard:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-master_apply_delete_command_all_shard: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-master_apply_delete_command_all_shard s2-master_apply_delete_command_row s1-commit s2-commit
@ -32,26 +36,30 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-master_apply_delete_command_all_shard:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s2-master_apply_delete_command_row:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-master_apply_delete_command_row: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-master_apply_delete_command_row s2-master_apply_delete_command_all_shard s1-commit s2-commit
@ -59,26 +67,30 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-master_apply_delete_command_row:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
step s2-master_apply_delete_command_all_shard:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0$$);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-master_apply_delete_command_all_shard: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-master_apply_delete_command_row s2-master_apply_delete_command_row s1-commit s2-commit
@ -86,24 +98,28 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-master_apply_delete_command_row:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
step s2-master_apply_delete_command_row:
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
SELECT master_apply_delete_command($$DELETE FROM table_to_delete_from WHERE id >= 0 and id < 3$$);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-master_apply_delete_command_row: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
step s2-commit:
COMMIT;
COMMIT;

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-insert s2-begin s2-update-node-1 s1-abort s2-abort
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin: BEGIN;
step s1-insert: INSERT INTO t1 SELECT generate_series(1, 100);
@ -17,17 +19,23 @@ step s2-update-node-1:
step s1-abort: ABORT;
step s2-update-node-1: <... completed>
master_update_node
---------------------------------------------------------------------
(1 row)
step s2-abort: ABORT;
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-begin s1-insert s2-begin s2-update-node-1-force s2-abort s1-abort
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin: BEGIN;
step s1-insert: INSERT INTO t1 SELECT generate_series(1, 100);
@ -41,17 +49,20 @@ step s2-update-node-1-force:
<waiting ...>
step s2-update-node-1-force: <... completed>
master_update_node
---------------------------------------------------------------------
(1 row)
step s2-abort: ABORT;
step s1-abort: ABORT;
WARNING: this step had a leftover error message
FATAL: terminating connection due to administrator command
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
master_remove_node
---------------------------------------------------------------------
(2 rows)

View File

@ -2,7 +2,9 @@ Parsed test spec with 3 sessions
starting permutation: enable-deadlock-detection reload-conf s2-start-session-level-connection s1-begin s1-update-1 s2-begin-on-worker s2-update-2-on-worker s2-truncate-on-worker s3-invalidate-metadata s3-resync s3-wait s2-update-1-on-worker s1-update-2 s1-commit s2-commit-on-worker disable-deadlock-detection reload-conf s2-stop-connection
create_distributed_table
---------------------------------------------------------------------
(1 row)
step enable-deadlock-detection:
ALTER SYSTEM SET citus.distributed_deadlock_detection_factor TO 3;
@ -11,13 +13,17 @@ step reload-conf:
SELECT pg_reload_conf();
pg_reload_conf
---------------------------------------------------------------------
t
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -29,19 +35,25 @@ step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-2-on-worker:
SELECT run_commands_on_session_level_connection_to_node('UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 2');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate-on-worker:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE t2');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-invalidate-metadata:
update pg_dist_node SET metadatasynced = false;
@ -50,25 +62,31 @@ step s3-resync:
SELECT trigger_metadata_sync();
trigger_metadata_sync
---------------------------------------------------------------------
(1 row)
step s3-wait:
SELECT pg_sleep(2);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s2-update-1-on-worker:
SELECT run_commands_on_session_level_connection_to_node('UPDATE deadlock_detection_test SET some_val = 2 WHERE user_id = 1');
<waiting ...>
step s1-update-2:
step s1-update-2:
UPDATE deadlock_detection_test SET some_val = 1 WHERE user_id = 2;
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s2-update-1-on-worker: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
error in steps s1-update-2 s2-update-1-on-worker: ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-commit:
COMMIT;
@ -76,7 +94,9 @@ step s2-commit-on-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step disable-deadlock-detection:
ALTER SYSTEM SET citus.distributed_deadlock_detection_factor TO -1;
@ -85,21 +105,29 @@ step reload-conf:
SELECT pg_reload_conf();
pg_reload_conf
---------------------------------------------------------------------
t
(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: increase-retry-interval reload-conf s2-start-session-level-connection s2-begin-on-worker s2-truncate-on-worker s3-invalidate-metadata s3-resync s3-wait s1-count-daemons s1-cancel-metadata-sync s1-count-daemons reset-retry-interval reload-conf s2-commit-on-worker s2-stop-connection s3-resync s3-wait
create_distributed_table
---------------------------------------------------------------------
(1 row)
step increase-retry-interval:
ALTER SYSTEM SET citus.metadata_sync_retry_interval TO 20000;
@ -108,25 +136,33 @@ step reload-conf:
SELECT pg_reload_conf();
pg_reload_conf
---------------------------------------------------------------------
t
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate-on-worker:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE t2');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s3-invalidate-metadata:
update pg_dist_node SET metadatasynced = false;
@ -135,36 +171,48 @@ step s3-resync:
SELECT trigger_metadata_sync();
trigger_metadata_sync
---------------------------------------------------------------------
(1 row)
step s3-wait:
SELECT pg_sleep(2);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s1-count-daemons:
SELECT count(*) FROM pg_stat_activity WHERE application_name LIKE 'Citus Met%';
count
---------------------------------------------------------------------
1
(1 row)
1
step s1-cancel-metadata-sync:
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name LIKE 'Citus Met%';
SELECT pg_sleep(2);
pg_cancel_backend
---------------------------------------------------------------------
t
pg_sleep
(1 row)
pg_sleep
---------------------------------------------------------------------
(1 row)
step s1-count-daemons:
SELECT count(*) FROM pg_stat_activity WHERE application_name LIKE 'Citus Met%';
count
---------------------------------------------------------------------
0
(1 row)
0
step reset-retry-interval:
ALTER SYSTEM RESET citus.metadata_sync_retry_interval;
@ -172,32 +220,44 @@ step reload-conf:
SELECT pg_reload_conf();
pg_reload_conf
---------------------------------------------------------------------
t
(1 row)
step s2-commit-on-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
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-resync:
SELECT trigger_metadata_sync();
trigger_metadata_sync
---------------------------------------------------------------------
(1 row)
step s3-wait:
SELECT pg_sleep(2);
pg_sleep
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -5,7 +5,7 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-modify_with_subquery_v1:
UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id;
@ -13,8 +13,8 @@ step s2-modify_with_subquery_v1:
step s1-insert_to_events_test_table:
INSERT INTO events_test_table VALUES(4,6,8,10);
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-insert_to_events_test_table: <... completed>
step s1-commit:
@ -26,16 +26,16 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-modify_with_subquery_v1:
UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id;
step s1-update_events_test_table:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-update_events_test_table: <... completed>
step s1-commit:
@ -47,16 +47,16 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-modify_with_subquery_v1:
UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id;
step s1-delete_events_test_table:
DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3;
DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3;
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-delete_events_test_table: <... completed>
step s1-commit:
@ -68,7 +68,7 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-insert_to_events_test_table:
INSERT INTO events_test_table VALUES(4,6,8,10);
@ -76,12 +76,12 @@ step s1-insert_to_events_test_table:
step s2-modify_with_subquery_v1:
UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-modify_with_subquery_v1: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-update_events_test_table s2-modify_with_subquery_v1 s1-commit s2-commit
@ -89,20 +89,20 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-update_events_test_table:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
step s2-modify_with_subquery_v1:
UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-modify_with_subquery_v1: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-delete_events_test_table s2-modify_with_subquery_v1 s1-commit s2-commit
@ -110,18 +110,18 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-delete_events_test_table:
DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3;
DELETE FROM events_test_table WHERE user_id = 1 or user_id = 3;
step s2-modify_with_subquery_v1:
UPDATE users_test_table SET value_2 = 5 FROM events_test_table WHERE users_test_table.user_id = events_test_table.user_id;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-modify_with_subquery_v1: <... completed>
step s2-commit:
COMMIT;
COMMIT;

View File

@ -5,40 +5,44 @@ step s1-begin:
BEGIN;
step s1-update_all_value_1:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 5| 6| 7
2| 12| 7| 18
3| 23| 8| 25
4| 42| 9| 23
5| 35| 10| 17
6| 21| 11| 25
7| 27| 12| 18
(7 rows)
1 5 6 7
2 12 7 18
3 23 8 25
4 42 9 23
5 35 10 17
6 21 11 25
7 27 12 18
step s1-commit:
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 3| 6| 7
2| 3| 7| 18
3| 3| 8| 25
4| 3| 9| 23
5| 3| 10| 17
6| 3| 11| 25
7| 3| 12| 18
(7 rows)
1 3 6 7
2 3 7 18
3 3 8 25
4 3 9 23
5 3 10 17
6 3 11 25
7 3 12 18
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-update_all_value_1 s2-begin s2-update_all_value_1 s1-commit s2-commit
@ -46,20 +50,20 @@ step s1-begin:
BEGIN;
step s1-update_all_value_1:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-update_all_value_1:
UPDATE users_test_table SET value_1 = 6;
UPDATE users_test_table SET value_1 = 6;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_all_value_1: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-update_even_concurrently s2-begin s2-update_odd_concurrently s1-commit s2-commit
@ -67,23 +71,23 @@ step s1-begin:
BEGIN;
step s1-update_even_concurrently:
SET citus.enable_deadlock_prevention TO off;
UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0;
SET citus.enable_deadlock_prevention TO on;
SET citus.enable_deadlock_prevention TO off;
UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0;
SET citus.enable_deadlock_prevention TO on;
step s2-begin:
BEGIN;
BEGIN;
step s2-update_odd_concurrently:
SET citus.enable_deadlock_prevention = off;
UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 1;
SET citus.enable_deadlock_prevention TO on;
SET citus.enable_deadlock_prevention = off;
UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 1;
SET citus.enable_deadlock_prevention TO on;
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-update_even_concurrently s2-begin s2-update_value_1_of_4_or_6_to_4 s1-commit s2-commit
@ -91,22 +95,22 @@ step s1-begin:
BEGIN;
step s1-update_even_concurrently:
SET citus.enable_deadlock_prevention TO off;
UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0;
SET citus.enable_deadlock_prevention TO on;
SET citus.enable_deadlock_prevention TO off;
UPDATE users_test_table SET value_1 = 3 WHERE user_id % 2 = 0;
SET citus.enable_deadlock_prevention TO on;
step s2-begin:
BEGIN;
BEGIN;
step s2-update_value_1_of_4_or_6_to_4:
UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6;
UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_value_1_of_4_or_6_to_4: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s1-update_value_1_of_1_or_3_to_5 s2-begin s2-update_value_1_of_4_or_6_to_4 s1-commit s2-commit s2-select
@ -114,158 +118,166 @@ step s1-begin:
BEGIN;
step s1-update_value_1_of_1_or_3_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-update_value_1_of_4_or_6_to_4:
UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6;
UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6;
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 5| 6| 7
2| 12| 7| 18
3| 5| 8| 25
4| 4| 9| 23
5| 35| 10| 17
6| 4| 11| 25
7| 27| 12| 18
(7 rows)
1 5 6 7
2 12 7 18
3 5 8 25
4 4 9 23
5 35 10 17
6 4 11 25
7 27 12 18
starting permutation: s1-begin s1-update_value_1_of_1_or_3_to_5 s2-begin s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit s2-select
step s1-begin:
BEGIN;
step s1-update_value_1_of_1_or_3_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-update_value_1_of_1_or_3_to_8:
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_value_1_of_1_or_3_to_8: <... completed>
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 8| 6| 7
2| 12| 7| 18
3| 8| 8| 25
4| 42| 9| 23
5| 35| 10| 17
6| 21| 11| 25
7| 27| 12| 18
(7 rows)
1 8 6 7
2 12 7 18
3 8 8 25
4 42 9 23
5 35 10 17
6 21 11 25
7 27 12 18
starting permutation: s1-begin s1-update_all_value_1 s2-begin s2-insert-to-table s1-commit s2-commit s2-select
step s1-begin:
BEGIN;
step s1-update_all_value_1:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-insert-to-table:
INSERT INTO users_test_table VALUES (1,2,3,4);
INSERT INTO users_test_table VALUES (1,2,3,4);
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 2| 3| 4
1| 3| 6| 7
2| 3| 7| 18
3| 3| 8| 25
4| 3| 9| 23
5| 3| 10| 17
6| 3| 11| 25
7| 3| 12| 18
(8 rows)
1 2 3 4
1 3 6 7
2 3 7 18
3 3 8 25
4 3 9 23
5 3 10 17
6 3 11 25
7 3 12 18
starting permutation: s1-begin s1-update_all_value_1 s2-begin s2-insert-into-select s1-commit s2-commit s2-select
step s1-begin:
BEGIN;
step s1-update_all_value_1:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-insert-into-select:
INSERT INTO users_test_table SELECT * FROM events_test_table;
INSERT INTO users_test_table SELECT * FROM events_test_table;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-insert-into-select: <... completed>
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 3| 6| 7
1| 5| 7| 7
2| 3| 7| 18
3| 3| 8| 25
4| 3| 9| 23
5| 22| 9| 25
5| 3| 10| 17
7| 41| 10| 23
6| 3| 11| 25
7| 3| 12| 18
1| 20| 12| 25
3| 26| 13| 18
5| 17| 14| 4
3| 11| 78| 18
(14 rows)
1 3 6 7
1 5 7 7
2 3 7 18
3 3 8 25
4 3 9 23
5 22 9 25
5 3 10 17
7 41 10 23
6 3 11 25
7 3 12 18
1 20 12 25
3 26 13 18
5 17 14 4
3 11 78 18
starting permutation: s1-begin s2-begin s1-update_value_1_of_1_or_3_to_5 s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit
step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-update_value_1_of_1_or_3_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
step s2-update_value_1_of_1_or_3_to_8:
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_value_1_of_1_or_3_to_8: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s2-update_value_1_of_1_or_3_to_8 s1-update_value_1_of_2_or_4_to_5 s2-commit s1-commit
@ -273,16 +285,16 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-update_value_1_of_1_or_3_to_8:
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
step s1-update_value_1_of_2_or_4_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4;
step s2-commit:
COMMIT;
COMMIT;
step s1-commit:
COMMIT;
@ -296,36 +308,38 @@ step s1-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s1-update_all_value_1:
UPDATE users_test_table SET value_1 = 3;
UPDATE users_test_table SET value_1 = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s2-update_all_value_1:
UPDATE users_test_table SET value_1 = 6;
UPDATE users_test_table SET value_1 = 6;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_all_value_1: <... completed>
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 6| 6| 7
2| 6| 7| 18
3| 6| 8| 25
4| 6| 9| 23
5| 6| 10| 17
6| 6| 11| 25
7| 6| 12| 18
(7 rows)
1 6 6 7
2 6 7 18
3 6 8 25
4 6 9 23
5 6 10 17
6 6 11 25
7 6 12 18
starting permutation: s1-begin s1-change_connection_mode_to_sequential s1-update_value_1_of_1_or_3_to_5 s2-begin s2-change_connection_mode_to_sequential s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit s2-select
step s1-begin:
@ -335,36 +349,38 @@ step s1-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s1-update_value_1_of_1_or_3_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s2-update_value_1_of_1_or_3_to_8:
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_value_1_of_1_or_3_to_8: <... completed>
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 8| 6| 7
2| 12| 7| 18
3| 8| 8| 25
4| 42| 9| 23
5| 35| 10| 17
6| 21| 11| 25
7| 27| 12| 18
(7 rows)
1 8 6 7
2 12 7 18
3 8 8 25
4 42 9 23
5 35 10 17
6 21 11 25
7 27 12 18
starting permutation: s1-begin s1-change_connection_mode_to_sequential s1-update_value_1_of_1_or_3_to_5 s2-begin s2-change_connection_mode_to_sequential s2-update_value_1_of_4_or_6_to_4 s1-commit s2-commit s2-select
step s1-begin:
@ -374,42 +390,44 @@ step s1-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s1-update_value_1_of_1_or_3_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
step s2-begin:
BEGIN;
BEGIN;
step s2-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s2-update_value_1_of_4_or_6_to_4:
UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6;
UPDATE users_test_table SET value_1 = 4 WHERE user_id = 4 or user_id = 6;
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
COMMIT;
step s2-select:
SELECT * FROM users_test_table ORDER BY value_2, value_3;
SELECT * FROM users_test_table ORDER BY value_2, value_3;
user_id value_1 value_2 value_3
user_id|value_1|value_2|value_3
---------------------------------------------------------------------
1| 5| 6| 7
2| 12| 7| 18
3| 5| 8| 25
4| 4| 9| 23
5| 35| 10| 17
6| 4| 11| 25
7| 27| 12| 18
(7 rows)
1 5 6 7
2 12 7 18
3 5 8 25
4 4 9 23
5 35 10 17
6 4 11 25
7 27 12 18
starting permutation: s1-begin s2-begin s1-change_connection_mode_to_sequential s2-change_connection_mode_to_sequential s1-update_value_1_of_1_or_3_to_5 s2-update_value_1_of_1_or_3_to_8 s1-commit s2-commit
step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
@ -418,17 +436,17 @@ step s2-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s1-update_value_1_of_1_or_3_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 1 or user_id = 3;
step s2-update_value_1_of_1_or_3_to_8:
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update_value_1_of_1_or_3_to_8: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s1-change_connection_mode_to_sequential s2-change_connection_mode_to_sequential s2-update_value_1_of_1_or_3_to_8 s1-update_value_1_of_2_or_4_to_5 s1-commit s2-commit
@ -436,7 +454,7 @@ step s1-begin:
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
@ -445,14 +463,14 @@ step s2-change_connection_mode_to_sequential:
set citus.multi_shard_modify_mode to 'sequential';
step s2-update_value_1_of_1_or_3_to_8:
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
UPDATE users_test_table SET value_1 = 8 WHERE user_id = 1 or user_id = 3;
step s1-update_value_1_of_2_or_4_to_5:
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4;
UPDATE users_test_table SET value_1 = 5 WHERE user_id = 2 or user_id = 4;
step s1-commit:
COMMIT;
step s2-commit:
COMMIT;
COMMIT;

View File

@ -2,283 +2,295 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s2-begin s2-reindex s1-insert s2-commit s1-commit
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s2-reindex:
REINDEX TABLE test_table;
REINDEX TABLE test_table;
ERROR: must be owner of table test_table
step s1-insert:
UPDATE test_table SET column2 = 1;
UPDATE test_table SET column2 = 1;
step s2-commit:
COMMIT;
COMMIT;
step s1-commit:
COMMIT;
COMMIT;
starting permutation: s1-grant s1-begin s2-begin s2-reindex s1-insert s2-insert s2-commit s1-commit
step s1-grant:
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s2-reindex:
REINDEX TABLE test_table;
REINDEX TABLE test_table;
ERROR: must be owner of table test_table
step s1-insert:
UPDATE test_table SET column2 = 1;
UPDATE test_table SET column2 = 1;
step s2-insert:
UPDATE test_table SET column2 = 2;
UPDATE test_table SET column2 = 2;
ERROR: current transaction is aborted, commands ignored until end of transaction block
step s2-commit:
COMMIT;
COMMIT;
step s1-commit:
COMMIT;
COMMIT;
starting permutation: s1-grant s1-begin s2-begin s1-reindex s2-insert s1-insert s1-commit s2-commit
step s1-grant:
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s1-reindex:
REINDEX TABLE test_table;
REINDEX TABLE test_table;
step s2-insert:
UPDATE test_table SET column2 = 2;
UPDATE test_table SET column2 = 2;
<waiting ...>
step s1-insert:
UPDATE test_table SET column2 = 1;
step s1-insert:
UPDATE test_table SET column2 = 1;
step s1-commit:
COMMIT;
COMMIT;
step s2-insert: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-begin s2-begin s2-index s1-insert s2-commit s1-commit s2-drop-index
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s2-index:
CREATE INDEX test_index ON test_table(column1);
CREATE INDEX test_index ON test_table(column1);
ERROR: must be owner of table test_table
step s1-insert:
UPDATE test_table SET column2 = 1;
UPDATE test_table SET column2 = 1;
step s2-commit:
COMMIT;
COMMIT;
step s1-commit:
COMMIT;
COMMIT;
step s2-drop-index:
DROP INDEX IF EXISTS test_index;
DROP INDEX IF EXISTS test_index;
starting permutation: s1-grant s1-begin s2-begin s2-insert s1-index s2-insert s2-commit s1-commit s1-drop-index
step s1-grant:
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s2-insert:
UPDATE test_table SET column2 = 2;
UPDATE test_table SET column2 = 2;
step s1-index:
CREATE INDEX test_index ON test_table(column1);
CREATE INDEX test_index ON test_table(column1);
<waiting ...>
step s2-insert:
UPDATE test_table SET column2 = 2;
step s2-insert:
UPDATE test_table SET column2 = 2;
step s2-commit:
COMMIT;
COMMIT;
step s1-index: <... completed>
step s1-commit:
COMMIT;
COMMIT;
step s1-drop-index:
DROP INDEX IF EXISTS test_index;
DROP INDEX IF EXISTS test_index;
starting permutation: s1-grant s1-begin s2-begin s1-index s2-index s1-insert s1-commit s2-commit s1-drop-index s2-drop-index
step s1-grant:
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s1-index:
CREATE INDEX test_index ON test_table(column1);
CREATE INDEX test_index ON test_table(column1);
step s2-index:
CREATE INDEX test_index ON test_table(column1);
CREATE INDEX test_index ON test_table(column1);
ERROR: must be owner of table test_table
step s1-insert:
UPDATE test_table SET column2 = 1;
UPDATE test_table SET column2 = 1;
step s1-commit:
COMMIT;
COMMIT;
step s2-commit:
COMMIT;
COMMIT;
step s1-drop-index:
DROP INDEX IF EXISTS test_index;
DROP INDEX IF EXISTS test_index;
step s2-drop-index:
DROP INDEX IF EXISTS test_index;
DROP INDEX IF EXISTS test_index;
starting permutation: s1-begin s2-begin s2-truncate s1-insert s2-commit s1-commit
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s2-truncate:
TRUNCATE test_table;
TRUNCATE test_table;
ERROR: permission denied for table test_table
step s1-insert:
UPDATE test_table SET column2 = 1;
UPDATE test_table SET column2 = 1;
step s2-commit:
COMMIT;
COMMIT;
step s1-commit:
COMMIT;
COMMIT;
starting permutation: s1-grant s1-begin s2-begin s1-truncate s2-insert s1-insert s1-commit s2-commit
step s1-grant:
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s1-truncate:
TRUNCATE test_table;
TRUNCATE test_table;
step s2-insert:
UPDATE test_table SET column2 = 2;
UPDATE test_table SET column2 = 2;
<waiting ...>
step s1-insert:
UPDATE test_table SET column2 = 1;
step s1-insert:
UPDATE test_table SET column2 = 1;
step s1-commit:
COMMIT;
COMMIT;
step s2-insert: <... completed>
step s2-commit:
COMMIT;
COMMIT;
starting permutation: s1-grant s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit
step s1-grant:
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
SET ROLE test_user_1;
SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2');
GRANT ALL ON test_table TO test_user_2;
bool_and
---------------------------------------------------------------------
t
(1 row)
step s1-begin:
BEGIN;
SET ROLE test_user_1;
BEGIN;
SET ROLE test_user_1;
step s2-begin:
BEGIN;
SET ROLE test_user_2;
BEGIN;
SET ROLE test_user_2;
step s1-truncate:
TRUNCATE test_table;
TRUNCATE test_table;
step s2-truncate:
TRUNCATE test_table;
TRUNCATE test_table;
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-truncate: <... completed>
step s2-commit:
COMMIT;
COMMIT;

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -11,50 +13,66 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-router-select: SELECT * FROM partitioned_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-real-time-select: SELECT * FROM partitioned_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -63,22 +81,28 @@ step s2-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM partitioned_copy AS t1 JOIN partitioned_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -87,12 +111,16 @@ step s2-insert: INSERT INTO partitioned_copy VALUES(0, 'k', 0);
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO partitioned_copy SELECT * FROM partitioned_co
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -115,12 +147,16 @@ step s2-update: UPDATE partitioned_copy SET data = 'l' WHERE id = 0;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -129,12 +165,16 @@ step s2-delete: DELETE FROM partitioned_copy WHERE id = 1;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -144,12 +184,16 @@ step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -162,7 +206,9 @@ ERROR: relation "partitioned_copy" does not exist
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -172,17 +218,23 @@ step s1-commit: COMMIT;
step s2-ddl-add-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE partitioned_copy ADD new_column int DEFAULT 0;
@ -193,17 +245,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -213,34 +271,46 @@ step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-table-size: SELECT citus_total_relation_size('partitioned_copy');
citus_total_relation_size
---------------------------------------------------------------------
0
(1 row)
0
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -249,12 +319,16 @@ step s2-master-modify-multiple-shards: DELETE FROM partitioned_copy;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -263,16 +337,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('partitioned_copy':
step s1-commit: COMMIT;
step s2-master-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
4
(1 row)
4
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-copy s2-distribute-table s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE partitioned_copy;
step s1-create-non-distributed-table: CREATE TABLE partitioned_copy(id integer, data text, int_data int); COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
@ -283,54 +363,72 @@ step s2-distribute-table: SELECT create_distributed_table('partitioned_copy', 'i
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-router-select: SELECT * FROM partitioned_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-real-time-select: SELECT * FROM partitioned_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -338,23 +436,29 @@ step s1-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM partitioned_copy AS t1 JOIN partitioned_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -363,12 +467,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -377,12 +485,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -391,12 +503,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -405,12 +521,16 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -420,12 +540,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -433,13 +557,15 @@ step s1-drop: DROP TABLE partitioned_copy;
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: relation "partitioned_copy" does not exist
ERROR: relation "partitioned_copy" does not exist
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
ERROR: relation "partitioned_copy" does not exist
starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -447,20 +573,26 @@ step s1-ddl-add-column: ALTER TABLE partitioned_copy ADD new_column int DEFAULT
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: missing data for column "new_column"
ERROR: missing data for column "new_column"
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE partitioned_copy ADD new_column int DEFAULT 0;
@ -471,17 +603,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -491,34 +629,46 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''partitioned_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('partitioned_copy');
citus_total_relation_size
---------------------------------------------------------------------
0
(1 row)
0
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -527,31 +677,41 @@ step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-master-drop-all-shards: SELECT citus_drop_all_shards('partitioned_copy'::regclass, 'public', 'partitioned_copy');
citus_drop_all_shards
---------------------------------------------------------------------
4
(1 row)
4
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: could not find any shards into which to copy
ERROR: could not find any shards into which to copy
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE partitioned_copy;
step s1-create-non-distributed-table: CREATE TABLE partitioned_copy(id integer, data text, int_data int); COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
@ -559,12 +719,16 @@ step s1-initialize: COPY partitioned_copy FROM PROGRAM 'echo 0, a, 0 && echo 1,
step s1-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('partitioned_copy', 'id');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-copy: COPY partitioned_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM partitioned_copy;
count
---------------------------------------------------------------------
15
(1 row)
15

View File

@ -16,55 +16,77 @@ step take-locks:
SELECT pg_advisory_lock(32);
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
step s1-start-operation:
SELECT sample_operation(1337, 10, -1);
<waiting ...>
step s2-start-operation:
step s2-start-operation:
SELECT sample_operation(1337, 20, 2);
<waiting ...>
step s3-start-operation:
step s3-start-operation:
SELECT sample_operation(3778, 30, 9);
<waiting ...>
step show-progress:
step show-progress:
SELECT show_progress(1337);
SELECT show_progress(3778);
show_progress
---------------------------------------------------------------------
(0,0)
(1,0)
(0,0)
(1,0)
(4 rows)
(0,0)
(1,0)
(0,0)
(1,0)
show_progress
---------------------------------------------------------------------
(0,0)
(1,0)
(2 rows)
step release-locks-1:
-- Release the locks of first steps of sample operations
SELECT pg_advisory_unlock(10);
@ -72,28 +94,38 @@ step release-locks-1:
SELECT pg_advisory_unlock(30);
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
step show-progress:
SELECT show_progress(1337);
SELECT show_progress(3778);
show_progress
---------------------------------------------------------------------
(0,-1)
(1,0)
(0,2)
(1,0)
show_progress
(4 rows)
show_progress
---------------------------------------------------------------------
(0,9)
(1,0)
(2 rows)
step release-locks-2:
-- Release the locks of second steps of sample operations
SELECT pg_advisory_unlock(11);
@ -101,28 +133,38 @@ step release-locks-2:
SELECT pg_advisory_unlock(31);
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
step show-progress:
SELECT show_progress(1337);
SELECT show_progress(3778);
show_progress
---------------------------------------------------------------------
(0,-1)
(1,-1)
(0,2)
(1,2)
show_progress
(4 rows)
show_progress
---------------------------------------------------------------------
(0,9)
(1,9)
(2 rows)
step release-locks-3:
-- Release the locks of final steps of sample operations
SELECT pg_advisory_unlock(12);
@ -130,23 +172,35 @@ step release-locks-3:
SELECT pg_advisory_unlock(32);
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
step s1-start-operation: <... completed>
sample_operation
---------------------------------------------------------------------
(1 row)
step s2-start-operation: <... completed>
sample_operation
---------------------------------------------------------------------
(1 row)
step s3-start-operation: <... completed>
sample_operation
---------------------------------------------------------------------
(1 row)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -11,74 +13,96 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-router-select: SELECT * FROM range_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-real-time-select: SELECT * FROM range_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM range_copy AS t1 JOIN range_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
SET citus.enable_repartition_joins TO ON;
SELECT * FROM range_copy AS t1 JOIN range_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -87,12 +111,16 @@ step s2-insert: INSERT INTO range_copy VALUES(0, 'k', 0);
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -101,12 +129,16 @@ step s2-insert-select: INSERT INTO range_copy SELECT * FROM range_copy;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -115,12 +147,16 @@ step s2-update: UPDATE range_copy SET data = 'l' WHERE id = 0;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -129,12 +165,16 @@ step s2-delete: DELETE FROM range_copy WHERE id = 1;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -144,12 +184,16 @@ step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -162,7 +206,9 @@ ERROR: relation "range_copy" does not exist
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -172,17 +218,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX range_copy_index ON range_copy(id);
@ -193,17 +245,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -213,17 +271,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,1)
(localhost,57638,t,1)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -233,17 +297,23 @@ step s1-commit: COMMIT;
step s2-ddl-add-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE range_copy ADD new_column int DEFAULT 0;
@ -254,17 +324,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -274,34 +350,46 @@ step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-table-size: SELECT citus_total_relation_size('range_copy');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -310,12 +398,16 @@ step s2-master-modify-multiple-shards: DELETE FROM range_copy;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-copy s2-master-apply-delete-command s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -324,16 +416,22 @@ step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE
step s1-commit: COMMIT;
step s2-master-apply-delete-command: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-copy s2-master-drop-all-shards s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -342,16 +440,22 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('range_copy'::regcl
step s1-commit: COMMIT;
step s2-master-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
2
(1 row)
2
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-copy s2-distribute-table s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE range_copy;
step s1-create-non-distributed-table: CREATE TABLE range_copy(id integer, data text, int_data int);
@ -361,78 +465,102 @@ step s2-distribute-table: SELECT create_distributed_table('range_copy', 'id', 'r
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-router-select: SELECT * FROM range_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-real-time-select: SELECT * FROM range_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-adaptive-select:
SET citus.enable_repartition_joins TO ON;
SELECT * FROM range_copy AS t1 JOIN range_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
SET citus.enable_repartition_joins TO ON;
SELECT * FROM range_copy AS t1 JOIN range_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -441,12 +569,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -455,12 +587,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -469,12 +605,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -483,12 +623,16 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -498,12 +642,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -511,13 +659,15 @@ step s1-drop: DROP TABLE range_copy;
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: relation "range_copy" does not exist
ERROR: relation "range_copy" does not exist
step s1-select-count: SELECT COUNT(*) FROM range_copy;
ERROR: relation "range_copy" does not exist
starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -527,17 +677,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX range_copy_index ON range_copy(id);
@ -548,17 +704,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''range_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -566,20 +728,26 @@ step s1-ddl-add-column: ALTER TABLE range_copy ADD new_column int DEFAULT 0;
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: missing data for column "new_column"
ERROR: missing data for column "new_column"
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE range_copy ADD new_column int DEFAULT 0;
@ -590,17 +758,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -610,34 +784,46 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''range_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('range_copy');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -646,61 +832,81 @@ step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-master-apply-delete-command s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM range_copy WHERE id <= 4;');
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-master-drop-all-shards s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY range_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-master-drop-all-shards: SELECT citus_drop_all_shards('range_copy'::regclass, 'public', 'range_copy');
citus_drop_all_shards
---------------------------------------------------------------------
1
(1 row)
1
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-drop s1-create-non-distributed-table s1-begin s1-distribute-table s2-copy s1-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE range_copy;
step s1-create-non-distributed-table: CREATE TABLE range_copy(id integer, data text, int_data int);
step s1-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('range_copy', 'id', 'range');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-copy: COPY range_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: could not find any shards into which to copy
ERROR: could not find any shards into which to copy
step s1-select-count: SELECT COUNT(*) FROM range_copy;
count
---------------------------------------------------------------------
0
(1 row)
0

View File

@ -8,7 +8,9 @@ step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
s1: NOTICE: cleaned up 1 orphaned shards
step s1-drop-marked-shards:
@ -32,7 +34,9 @@ step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s2-drop-marked-shards:
SET client_min_messages to DEBUG1;
@ -55,23 +59,31 @@ step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_move_shard_placement
---------------------------------------------------------------------
(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-lock-table-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN;');
SELECT run_commands_on_session_level_connection_to_node('LOCK TABLE t1_120000');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-drop-marked-shards:
SET client_min_messages to NOTICE;
@ -87,7 +99,9 @@ step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-move-placement s2-start-session-level-connection s2-lock-table-on-worker s1-commit s1-begin s1-move-placement-back s1-commit s2-stop-connection
@ -98,23 +112,31 @@ step s1-move-placement:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
master_move_shard_placement
---------------------------------------------------------------------
(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-lock-table-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN;');
SELECT run_commands_on_session_level_connection_to_node('LOCK TABLE t1_120000');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -128,8 +150,10 @@ step s1-move-placement-back:
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57638, 'localhost', 57637);
log_error_verbosity
---------------------------------------------------------------------
verbose
(1 row)
ERROR: shard xxxxx still exists on the target node as an orphaned shard
step s1-commit:
COMMIT;
@ -138,7 +162,9 @@ step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-lock-pg-dist-placement s2-drop-old-shards s1-commit
@ -153,7 +179,9 @@ step s2-drop-old-shards:
SELECT run_try_drop_marked_shards();
run_try_drop_marked_shards
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
@ -170,8 +198,10 @@ step s2-select:
SELECT COUNT(*) FROM t1;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-move-placement-without-deferred:
SET citus.defer_drop_after_shard_move TO OFF;
SELECT master_move_shard_placement((SELECT * FROM selected_shard), 'localhost', 57637, 'localhost', 57638);
@ -181,7 +211,9 @@ step s2-commit:
step s1-move-placement-without-deferred: <... completed>
master_move_shard_placement
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;

File diff suppressed because it is too large Load Diff

View File

@ -2,657 +2,837 @@ Parsed test spec with 2 sessions
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-update-table-1 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-table-1:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table_1 SET id = 2 WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(ExclusiveLock,1)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(ExclusiveLock,1)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-delete-table-1 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete-table-1:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table_1 WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(ExclusiveLock,1)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(ExclusiveLock,1)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-update-table-2 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-table-2:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table_2 SET id = 2 WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(ExclusiveLock,2)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(ExclusiveLock,2)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-delete-table-2 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete-table-2:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table_2 WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(ExclusiveLock,2)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(ExclusiveLock,2)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-update-table-3 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-table-3:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table_3 SET id = 2 WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(ExclusiveLock,3)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(ExclusiveLock,3)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-delete-table-3 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete-table-3:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table_3 WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(ExclusiveLock,3)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(ExclusiveLock,3)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-table-1 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-table-1:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table_1 VALUES (7, 7)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(RowExclusiveLock,1)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(RowExclusiveLock,1)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-table-2 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-table-2:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table_2 VALUES (7, 5)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(RowExclusiveLock,2)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(RowExclusiveLock,2)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-table-3 s1-start-session-level-connection s1-view-locks s2-rollback-worker s1-view-locks s1-stop-connection s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-table-3:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table_3 VALUES (7, 5)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |{"(RowExclusiveLock,3)","(ShareLock,1)"}
(1 row)
localhost 57637 t {"(RowExclusiveLock,3)","(ShareLock,1)"}
step s2-rollback-worker:
SELECT run_commands_on_session_level_connection_to_node('ROLLBACK');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-view-locks:
SELECT * FROM master_run_on_worker(
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
ARRAY['localhost']::text[],
ARRAY[57637]::int[],
ARRAY[$$
SELECT array_agg(ROW(t.mode, t.count) ORDER BY t.mode) FROM
(SELECT mode, count(*) count FROM pg_locks
WHERE locktype='advisory' GROUP BY mode) t$$]::text[],
false);
false);
node_name node_port success result
node_name|node_port|success|result
---------------------------------------------------------------------
localhost| 57637|t |
(1 row)
localhost 57637 t
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,532 +2,716 @@ Parsed test spec with 3 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
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-start-session-level-connection s2-begin-on-worker s2-insert s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 10), (2, 20)');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 10), (2, 20)');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM ref_table;
SELECT COUNT(*) FROM ref_table;
count
---------------------------------------------------------------------
2
(1 row)
2
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-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-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
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-select-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-select-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-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
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 1, 10 && echo 2, 20''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 1, 10 && echo 2, 20''WITH CSV');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM ref_table;
SELECT COUNT(*) FROM ref_table;
count
---------------------------------------------------------------------
2
(1 row)
2
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-alter s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-alter:
ALTER TABLE ref_table DROP value;
ALTER TABLE ref_table DROP value;
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-alter: <... completed>
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-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
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-start-session-level-connection s1-begin-on-worker s1-select-for-update s2-coordinator-create-index-concurrently s1-commit-worker s1-stop-connection
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-coordinator-create-index-concurrently:
CREATE INDEX CONCURRENTLY ref_table_index ON ref_table(id);
CREATE INDEX CONCURRENTLY ref_table_index ON ref_table(id);
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -1,301 +1 @@
Parsed test spec with 3 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
step s1-add-primary-key:
ALTER TABLE ref_table ADD CONSTRAINT pri_key PRIMARY KEY (id);
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-upsert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 3), (2, 3) ON CONFLICT (id) DO UPDATE SET value=3');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table WHERE id=1 OR id=2');
run_commands_on_session_level_connection_to_node
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM ref_table;
count
2
restore_isolation_tester_func
starting 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
create_reference_table
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1 OR id=2');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-insert-select-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table SELECT * FROM ref_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-insert-select-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM ref_table;
count
0
restore_isolation_tester_func
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-drop s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
create_reference_table
step s1-add-primary-key:
ALTER TABLE ref_table ADD CONSTRAINT pri_key PRIMARY KEY (id);
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-upsert:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES (1, 3), (2, 3) ON CONFLICT (id) DO UPDATE SET value=3');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-drop:
DROP TABLE ref_table;
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-drop: <... completed>
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM ref_table;
ERROR: relation "ref_table" does not exist
restore_isolation_tester_func
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
create_reference_table
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE id=1 OR id=2');
run_commands_on_session_level_connection_to_node
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE ref_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
step s3-select-count:
SELECT COUNT(*) FROM ref_table;
count
0
restore_isolation_tester_func
undefined step "s1-add-primary-key"s1-start-session-level-connection" specified in permutation

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s1-copy s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -11,73 +13,95 @@ step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &&
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-copy s2-router-select s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-router-select: SELECT * FROM reference_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-real-time-select s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-real-time-select: SELECT * FROM reference_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-adaptive-select s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-adaptive-select:
SELECT * FROM reference_copy AS t1 JOIN reference_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
SELECT * FROM reference_copy AS t1 JOIN reference_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-insert s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -86,12 +110,16 @@ step s2-insert: INSERT INTO reference_copy VALUES(0, 'k', 0);
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-copy s2-insert-select s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -101,12 +129,16 @@ step s1-commit: COMMIT;
step s2-insert-select: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
20
(1 row)
20
starting permutation: s1-initialize s1-begin s1-copy s2-update s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -116,12 +148,16 @@ step s1-commit: COMMIT;
step s2-update: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-delete s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -131,12 +167,16 @@ step s1-commit: COMMIT;
step s2-delete: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-copy s2-truncate s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -146,12 +186,16 @@ step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-initialize s1-begin s1-copy s2-drop s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -164,7 +208,9 @@ ERROR: relation "reference_copy" does not exist
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index s1-commit s1-select-count s1-show-indexes
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -174,17 +220,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,1)
(localhost,57638,t,1)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-copy s2-ddl-drop-index s1-commit s1-select-count s1-show-indexes
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX reference_copy_index ON reference_copy(id);
@ -195,17 +247,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-index: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -215,17 +273,23 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,1)
(localhost,57638,t,1)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-add-column s1-commit s1-select-count s1-show-columns
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -235,17 +299,23 @@ step s1-commit: COMMIT;
step s2-ddl-add-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-copy-additional-column s2-ddl-drop-column s1-commit s1-select-count s1-show-columns
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE reference_copy ADD new_column int DEFAULT 0;
@ -256,17 +326,23 @@ step s1-commit: COMMIT;
step s2-ddl-drop-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-ddl-rename-column s1-commit s1-select-count s1-show-columns
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -276,34 +352,46 @@ step s1-commit: COMMIT;
step s2-ddl-rename-column: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-copy s2-table-size s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s2-table-size: SELECT citus_total_relation_size('reference_copy');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-copy s2-master-modify-multiple-shards s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -313,12 +401,16 @@ step s1-commit: COMMIT;
step s2-master-modify-multiple-shards: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
0
(1 row)
0
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-copy s2-distribute-table s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE reference_copy;
step s1-create-non-distributed-table: CREATE TABLE reference_copy(id integer, data text, int_data int); COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
@ -329,77 +421,101 @@ step s2-distribute-table: SELECT create_reference_table('reference_copy'); <wait
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-router-select s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-router-select: SELECT * FROM reference_copy WHERE id = 1;
id data int_data
id|data|int_data
---------------------------------------------------------------------
1| b | 1
(1 row)
1 b 1
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-real-time-select s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-real-time-select: SELECT * FROM reference_copy ORDER BY 1, 2;
id data int_data
id|data|int_data
---------------------------------------------------------------------
0| a | 0
1| b | 1
2| c | 2
3| d | 3
4| e | 4
(5 rows)
0 a 0
1 b 1
2 c 2
3 d 3
4 e 4
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-adaptive-select s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-adaptive-select:
SELECT * FROM reference_copy AS t1 JOIN reference_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
SELECT * FROM reference_copy AS t1 JOIN reference_copy AS t2 ON t1.id = t2.int_data ORDER BY 1, 2, 3, 4;
id data int_data id data int_data
id|data|int_data|id|data|int_data
---------------------------------------------------------------------
0| a | 0| 0| a | 0
1| b | 1| 1| b | 1
2| c | 2| 2| c | 2
3| d | 3| 3| d | 3
4| e | 4| 4| e | 4
(5 rows)
0 a 0 0 a 0
1 b 1 1 b 1
2 c 2 2 c 2
3 d 3 3 d 3
4 e 4 4 e 4
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-insert s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -408,12 +524,16 @@ step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 &&
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
11
(1 row)
11
starting permutation: s1-initialize s1-begin s1-insert-select s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -423,12 +543,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
15
(1 row)
15
starting permutation: s1-initialize s1-begin s1-update s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -438,12 +562,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-delete s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -453,12 +581,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
9
(1 row)
9
starting permutation: s1-initialize s1-begin s1-truncate s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -468,12 +600,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-initialize s1-begin s1-drop s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -481,13 +617,15 @@ step s1-drop: DROP TABLE reference_copy;
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: relation "reference_copy" does not exist
ERROR: relation "reference_copy" does not exist
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
ERROR: relation "reference_copy" does not exist
starting permutation: s1-initialize s1-begin s1-ddl-create-index s2-copy s1-commit s1-select-count s1-show-indexes
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -497,17 +635,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,1)
(localhost,57638,t,1)
(2 rows)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s1-ddl-drop-index s2-copy s1-commit s1-select-count s1-show-indexes
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-create-index: CREATE INDEX reference_copy_index ON reference_copy(id);
@ -518,17 +662,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''reference_copy%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-add-column s2-copy s1-commit s1-select-count s1-show-columns
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -536,20 +686,26 @@ step s1-ddl-add-column: ALTER TABLE reference_copy ADD new_column int DEFAULT 0;
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
error in steps s1-commit s2-copy: ERROR: missing data for column "new_column"
ERROR: missing data for column "new_column"
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s1-ddl-drop-column s2-copy s1-commit s1-select-count s1-show-columns
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-ddl-add-column: ALTER TABLE reference_copy ADD new_column int DEFAULT 0;
@ -560,17 +716,23 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
(2 rows)
starting permutation: s1-initialize s1-begin s1-ddl-rename-column s2-copy s1-commit s1-select-count s1-show-columns
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -580,34 +742,46 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''reference_copy%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
(2 rows)
starting permutation: s1-initialize s1-begin s1-table-size s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('reference_copy');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV;
step s1-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
10
(1 row)
10
starting permutation: s1-initialize s1-begin s1-master-modify-multiple-shards s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
step s1-begin: BEGIN;
@ -617,12 +791,16 @@ step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
5
(1 row)
5
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s1-distribute-table s2-copy s1-commit s1-select-count
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE reference_copy;
step s1-create-non-distributed-table: CREATE TABLE reference_copy(id integer, data text, int_data int); COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b, 1 && echo 2, c, 2 && echo 3, d, 3 && echo 4, e, 4' WITH CSV;
@ -630,12 +808,16 @@ step s1-initialize: COPY reference_copy FROM PROGRAM 'echo 0, a, 0 && echo 1, b,
step s1-begin: BEGIN;
step s1-distribute-table: SELECT create_reference_table('reference_copy');
create_reference_table
---------------------------------------------------------------------
(1 row)
step s2-copy: COPY reference_copy FROM PROGRAM 'echo 5, f, 5 && echo 6, g, 6 && echo 7, h, 7 && echo 8, i, 8 && echo 9, j, 9' WITH CSV; <waiting ...>
step s1-commit: COMMIT;
step s2-copy: <... completed>
step s1-select-count: SELECT COUNT(*) FROM reference_copy;
count
---------------------------------------------------------------------
15
(1 row)
15

View File

@ -2,615 +2,815 @@ Parsed test spec with 2 sessions
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update-ref-table:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
<waiting ...>
step s1-commit-worker:
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-delete-from-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete-from-ref-table:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM ref_table WHERE user_id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
<waiting ...>
step s1-commit-worker:
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-into-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-insert-into-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
<waiting ...>
step s1-commit-worker:
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-into-ref-table s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-insert-into-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-into-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy-to-ref-table:
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
<waiting ...>
step s1-commit-worker:
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy-to-ref-table:
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-into-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy-to-ref-table s2-start-session-level-connection s2-begin-on-worker s2-copy-to-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy-to-ref-table:
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy-to-ref-table:
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY ref_table FROM PROGRAM ''echo 10, 101 && echo 11, 111'' WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
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-update-ref-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM ref_table FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table:
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
SELECT run_commands_on_session_level_connection_to_node('UPDATE ref_table SET value_1 = 12 WHERE user_id = 1');
<waiting ...>
step s1-commit-worker:
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-update-ref-table: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-insert-into-ref-table s1-begin s1-alter-table s2-commit-worker s1-commit s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-into-ref-table:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO ref_table VALUES(8,81),(9,91)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
BEGIN;
step s1-alter-table:
ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id);
ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id);
<waiting ...>
step s2-commit-worker:
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-alter-table: <... completed>
step s1-commit:
COMMIT;
COMMIT;
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s2-start-session-level-connection s2-begin-on-worker s2-select-from-ref-table s1-begin s1-alter-table s2-commit-worker s1-commit s2-stop-connection
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-from-ref-table:
SELECT run_commands_on_session_level_connection_to_node('SELECT count(*) FROM ref_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT count(*) FROM ref_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
BEGIN;
step s1-alter-table:
ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id);
ALTER TABLE ref_table ADD CONSTRAINT rf_p_key PRIMARY KEY(user_id);
<waiting ...>
step s2-commit-worker:
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-alter-table: <... completed>
step s1-commit:
COMMIT;
COMMIT;
step s2-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-insert-1 s2-insert s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-insert-1:
BEGIN;
@ -12,14 +14,16 @@ step s2-insert:
BEGIN;
INSERT INTO test_locking (a) VALUES (1);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-insert: <... completed>
error in steps s1-commit s2-insert: ERROR: duplicate key value violates unique constraint "test_locking_a_key_1400001"
ERROR: duplicate key value violates unique constraint "test_locking_a_key_1400001"
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,7 +2,9 @@ Parsed test spec with 3 sessions
starting permutation: s1-begin s2-begin s1-update-dist-table s2-lock-ref-table-placement-on-coordinator s1-lock-ref-table-placement-on-coordinator s2-update-dist-table deadlock-checker-call s1-end s2-end
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -31,18 +33,20 @@ step s1-lock-ref-table-placement-on-coordinator:
END
$$;
<waiting ...>
step s2-update-dist-table:
step s2-update-dist-table:
update dist_table set b = 2 where a = 1;
<waiting ...>
step deadlock-checker-call:
step deadlock-checker-call:
SELECT check_distributed_deadlocks();
check_distributed_deadlocks
---------------------------------------------------------------------
t
(1 row)
step s1-lock-ref-table-placement-on-coordinator: <... completed>
step s2-update-dist-table: <... completed>
error in steps deadlock-checker-call s1-lock-ref-table-placement-on-coordinator s2-update-dist-table: ERROR: canceling the transaction since it was involved in a distributed deadlock
ERROR: canceling the transaction since it was involved in a distributed deadlock
step s1-end:
END;
@ -50,12 +54,16 @@ step s2-end:
END;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-update-ref-table s2-sleep s2-view-dist s2-view-worker s2-end s1-end
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -67,24 +75,28 @@ step s1-update-ref-table:
update ref_table set a = a + 1;
step s2-sleep:
SELECT pg_sleep(0.5);
SELECT pg_sleep(0.5);
pg_sleep
---------------------------------------------------------------------
(1 row)
step s2-view-dist:
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
SELECT query, query_hostname, query_hostport, distributed_query_host_name, distributed_query_host_port, state, wait_event_type, wait_event, usename, datname FROM citus_dist_stat_activity WHERE query NOT ILIKE '%pg_prepared_xacts%' AND query NOT ILIKE '%COMMIT%' ORDER BY query DESC;
query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
update ref_table set a = a + 1;
coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
update ref_table set a = a + 1;
localhost 57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
|localhost | 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(2 rows)
step s2-view-worker:
SELECT query, query_hostname, query_hostport, distributed_query_host_name,
SELECT query, query_hostname, query_hostport, distributed_query_host_name,
distributed_query_host_port, state, wait_event_type, wait_event, usename, datname
FROM citus_worker_stat_activity
WHERE query NOT ILIKE '%pg_prepared_xacts%' AND
@ -92,12 +104,14 @@ step s2-view-worker:
query NOT ILIKE '%dump_local_wait_edges%'
ORDER BY query, query_hostport DESC;
query query_hostname query_hostport distributed_query_host_namedistributed_query_host_portstate wait_event_typewait_event usename datname
query |query_hostname |query_hostport|distributed_query_host_name|distributed_query_host_port|state |wait_event_type|wait_event|usename |datname
---------------------------------------------------------------------
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|localhost | 57638|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|localhost | 57637|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|coordinator_host| 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)|localhost | 57636|coordinator_host | 57636|idle in transaction|Client |ClientRead|postgres|regression
(4 rows)
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)localhost 57638 coordinator_host57636 idle in transactionClient ClientRead postgres regression
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)localhost 57637 coordinator_host57636 idle in transactionClient ClientRead postgres regression
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)coordinator_host57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
UPDATE public.ref_table_1400163 ref_table SET a = (a OPERATOR(pg_catalog.+) 1)localhost 57636 coordinator_host57636 idle in transactionClient ClientRead postgres regression
step s2-end:
END;
@ -105,12 +119,16 @@ step s1-end:
END;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s1-update-ref-table s2-active-transactions s1-end s2-end
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -122,16 +140,20 @@ step s1-update-ref-table:
update ref_table set a = a + 1;
step s2-active-transactions:
-- Admin should be able to see all transactions
SELECT count(*) FROM get_all_active_transactions();
SELECT count(*) FROM get_global_active_transactions();
-- Admin should be able to see all transactions
SELECT count(*) FROM get_all_active_transactions();
SELECT count(*) FROM get_global_active_transactions();
count
---------------------------------------------------------------------
2
(1 row)
2
count
---------------------------------------------------------------------
6
(1 row)
6
step s1-end:
END;
@ -139,5 +161,7 @@ step s2-end:
END;
master_remove_node
---------------------------------------------------------------------
(1 row)

View File

@ -11,16 +11,18 @@ step s1-select-from-t1-t2-for-update:
ORDER BY 1
FOR UPDATE;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
@ -28,7 +30,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-t2-for-share s2-begin s2-delete-t1 s1-commit s2-commit
@ -42,16 +46,18 @@ step s1-select-from-t1-t2-for-share:
ORDER BY 1
FOR SHARE;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
step s2-delete-t1:
DELETE FROM test_table_1_rf1 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-delete-t1: <... completed>
@ -59,7 +65,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-for-update s2-begin s2-update-t1 s1-commit s2-commit
@ -73,16 +81,18 @@ step s1-select-from-t1-rt-for-update:
ORDER BY 1
FOR UPDATE;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
@ -90,7 +100,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-with-lc-for-update s2-begin s2-update-rt s1-commit s2-commit
@ -105,16 +117,18 @@ step s1-select-from-t1-rt-with-lc-for-update:
FOR UPDATE
OF rt1;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
step s2-update-rt:
UPDATE ref_table SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-rt: <... completed>
@ -122,7 +136,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-with-lc-for-update s2-begin s2-update-t1 s1-commit s2-commit
@ -137,9 +153,11 @@ step s1-select-from-t1-rt-with-lc-for-update:
FOR UPDATE
OF rt1;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
@ -153,7 +171,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-t2-for-share s2-begin s2-select-from-t1-t2-for-share s1-commit s2-commit
@ -167,9 +187,11 @@ step s1-select-from-t1-t2-for-share:
ORDER BY 1
FOR SHARE;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
@ -180,9 +202,11 @@ step s2-select-from-t1-t2-for-share:
ORDER BY 1
FOR SHARE;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s1-commit:
COMMIT;
@ -190,7 +214,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-rt-for-update s2-begin s2-select-from-t1-t2-for-update s1-commit s2-commit
@ -204,9 +230,11 @@ step s1-select-from-t1-rt-for-update:
ORDER BY 1
FOR UPDATE;
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-begin:
BEGIN;
@ -217,18 +245,22 @@ step s2-select-from-t1-t2-for-update:
ORDER BY 1
FOR UPDATE;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-select-from-t1-t2-for-update: <... completed>
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-within-cte s2-begin s2-select-from-t1-t2-for-update s1-commit s2-commit
@ -240,8 +272,10 @@ step s1-select-from-t1-within-cte:
SELECT * FROM first_value WHERE EXISTS (SELECT * FROM first_value);
val_1
---------------------------------------------------------------------
2
(1 row)
2
step s2-begin:
BEGIN;
@ -252,18 +286,22 @@ step s2-select-from-t1-t2-for-update:
ORDER BY 1
FOR UPDATE;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-select-from-t1-t2-for-update: <... completed>
id val_1 id val_1
id|val_1|id|val_1
---------------------------------------------------------------------
1| 2| 1| 2
(1 row)
1 2 1 2
step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-within-cte s2-begin s2-update-t1 s1-commit s2-commit
@ -275,15 +313,17 @@ step s1-select-from-t1-within-cte:
SELECT * FROM first_value WHERE EXISTS (SELECT * FROM first_value);
val_1
---------------------------------------------------------------------
2
(1 row)
2
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
@ -291,7 +331,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-with-subquery s2-begin s2-update-t1 s1-commit s2-commit
@ -305,16 +347,18 @@ step s1-select-from-t1-with-subquery:
RESET client_min_messages;
DEBUG: query has a single distribution column value: 1
id val_1
id|val_1
---------------------------------------------------------------------
1| 2
(1 row)
1 2
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
@ -322,7 +366,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-rt-with-subquery s2-begin s2-update-rt s1-commit s2-commit
@ -332,16 +378,18 @@ step s1-begin:
step s1-select-from-rt-with-subquery:
SELECT * FROM (SELECT * FROM ref_table FOR UPDATE) foo WHERE id = 1;
id val_1
id|val_1
---------------------------------------------------------------------
1| 2
(1 row)
1 2
step s2-begin:
BEGIN;
step s2-update-rt:
UPDATE ref_table SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-rt: <... completed>
@ -349,7 +397,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-select-from-t1-with-view s2-begin s2-update-t1 s1-commit s2-commit
@ -359,16 +409,18 @@ step s1-begin:
step s1-select-from-t1-with-view:
SELECT * FROM test_1 WHERE id = 1 FOR UPDATE;
id val_1
id|val_1
---------------------------------------------------------------------
1| 2
(1 row)
1 2
step s2-begin:
BEGIN;
step s2-update-t1:
UPDATE test_table_1_rf1 SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-t1: <... completed>
@ -376,7 +428,9 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-update-rt-with-cte-select-from-rt s2-begin s2-update-rt s1-commit s2-commit
@ -393,7 +447,7 @@ step s2-begin:
step s2-update-rt:
UPDATE ref_table SET val_1 = 5 WHERE id = 1;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-update-rt: <... completed>
@ -401,5 +455,7 @@ step s2-commit:
COMMIT;
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

File diff suppressed because it is too large Load Diff

View File

@ -5,64 +5,86 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-insert-select s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
@ -70,70 +92,94 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-insert-select:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO select_table SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO select_table SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM select_table;
SELECT COUNT(*) FROM select_table;
count
---------------------------------------------------------------------
10
(1 row)
10
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-start-session-level-connection s2-begin-on-worker s2-delete s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
@ -141,70 +187,94 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM select_table WHERE id = 1');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM select_table WHERE id = 1');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM select_table;
SELECT COUNT(*) FROM select_table;
count
---------------------------------------------------------------------
4
(1 row)
4
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select 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
@ -212,70 +282,94 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY select_table FROM PROGRAM ''echo 9, 90 && echo 10, 100''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY select_table FROM PROGRAM ''echo 9, 90 && echo 10, 100''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM select_table;
SELECT COUNT(*) FROM select_table;
count
---------------------------------------------------------------------
7
(1 row)
7
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select s2-begin s2-index s1-commit-worker s2-commit s1-stop-connection
@ -283,43 +377,55 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
BEGIN;
step s2-index:
CREATE INDEX select_index ON select_table(id);
CREATE INDEX select_index ON select_table(id);
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit:
COMMIT;
COMMIT;
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select 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
@ -327,64 +433,86 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table WHERE id = 6 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table WHERE id = 6 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-start-session-level-connection s1-begin-on-worker s1-disable-binary-protocol-on-worker s1-select s2-coordinator-create-index-concurrently s1-commit-worker s1-stop-connection
@ -392,42 +520,56 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-disable-binary-protocol-on-worker:
-- Workaround router-select blocking blocking create-index-concurrently
SELECT run_commands_on_session_level_connection_to_node('SET citus.enable_binary_protocol TO false');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM select_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-coordinator-create-index-concurrently:
CREATE INDEX CONCURRENTLY select_table_index ON select_table(id);
CREATE INDEX CONCURRENTLY select_table_index ON select_table(id);
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,14 +2,18 @@ Parsed test spec with 2 sessions
starting permutation: s1-rebalance-nc s2-rebalance-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-nc:
BEGIN;
select rebalance_table_shards('non_colocated');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-nc:
select rebalance_table_shards('non_colocated');
@ -19,19 +23,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-nc s2-replicate-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-nc:
BEGIN;
select rebalance_table_shards('non_colocated');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-replicate-nc:
select replicate_table_shards('non_colocated');
@ -41,19 +51,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-nc s2-rebalance-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-nc:
BEGIN;
select replicate_table_shards('non_colocated');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-nc:
select rebalance_table_shards('non_colocated');
@ -63,19 +79,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-nc s2-replicate-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-nc:
BEGIN;
select replicate_table_shards('non_colocated');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-replicate-nc:
select replicate_table_shards('non_colocated');
@ -85,19 +107,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-c1 s2-rebalance-c2 s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
select rebalance_table_shards('colocated1');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-c2:
select rebalance_table_shards('colocated2');
@ -107,19 +135,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-c1 s2-replicate-c2 s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
select rebalance_table_shards('colocated1');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-replicate-c2:
select replicate_table_shards('colocated2');
@ -129,19 +163,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-c1 s2-rebalance-c2 s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-c1:
BEGIN;
select replicate_table_shards('colocated1');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-c2:
select rebalance_table_shards('colocated2');
@ -151,19 +191,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-c1 s2-replicate-c2 s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-c1:
BEGIN;
select replicate_table_shards('colocated1');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-replicate-c2:
select replicate_table_shards('colocated2');
@ -173,115 +219,153 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-c1 s2-rebalance-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
select rebalance_table_shards('colocated1');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-nc:
select rebalance_table_shards('non_colocated');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-c1 s2-replicate-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
select rebalance_table_shards('colocated1');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-replicate-nc:
select replicate_table_shards('non_colocated');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-c1 s2-rebalance-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-c1:
BEGIN;
select replicate_table_shards('colocated1');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-nc:
select rebalance_table_shards('non_colocated');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-c1 s2-replicate-nc s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-c1:
BEGIN;
select replicate_table_shards('colocated1');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-replicate-nc:
select replicate_table_shards('non_colocated');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-c1 s2-rebalance-all s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
select rebalance_table_shards('colocated1');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-all:
select rebalance_table_shards();
@ -291,19 +375,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-c1 s2-rebalance-all s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-c1:
BEGIN;
select replicate_table_shards('colocated1');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-all:
select rebalance_table_shards();
@ -313,19 +403,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-nc s2-rebalance-all s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-nc:
BEGIN;
select rebalance_table_shards('non_colocated');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-all:
select rebalance_table_shards();
@ -335,19 +431,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-nc s2-rebalance-all s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-nc:
BEGIN;
select replicate_table_shards('non_colocated');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-rebalance-all:
select rebalance_table_shards();
@ -357,19 +459,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-c1 s2-drain s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
select rebalance_table_shards('colocated1');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-drain:
select master_drain_node('localhost', 57638);
@ -379,19 +487,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-c1 s2-drain s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-c1:
BEGIN;
select replicate_table_shards('colocated1');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-drain:
select master_drain_node('localhost', 57638);
@ -401,19 +515,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-rebalance-nc s2-drain s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-rebalance-nc:
BEGIN;
select rebalance_table_shards('non_colocated');
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s2-drain:
select master_drain_node('localhost', 57638);
@ -423,19 +543,25 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)
starting permutation: s1-replicate-nc s2-drain s1-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-replicate-nc:
BEGIN;
select replicate_table_shards('non_colocated');
replicate_table_shards
---------------------------------------------------------------------
(1 row)
step s2-drain:
select master_drain_node('localhost', 57638);
@ -445,5 +571,7 @@ step s1-commit:
COMMIT;
master_set_node_property
---------------------------------------------------------------------
(1 row)

View File

@ -2,19 +2,25 @@ Parsed test spec with 3 sessions
starting permutation: s2-lock-1 s2-lock-2 s1-rebalance-c1 s3-progress s2-unlock-1 s3-progress s2-unlock-2 s3-progress s1-commit s3-progress
master_set_node_property
---------------------------------------------------------------------
(1 row)
step s2-lock-1:
SELECT pg_advisory_lock(29279, 1);
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
step s2-lock-2:
SELECT pg_advisory_lock(29279, 2);
pg_advisory_lock
---------------------------------------------------------------------
(1 row)
step s1-rebalance-c1:
BEGIN;
@ -36,18 +42,22 @@ step s3-progress:
progress
FROM get_rebalance_progress();
table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress
table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress
---------------------------------------------------------------------
colocated1|1500001| 49152|localhost | 57637| 49152|localhost | 57638| 0| 1
colocated2|1500005| 376832|localhost | 57637| 376832|localhost | 57638| 0| 1
colocated1|1500002| 196608|localhost | 57637| 196608|localhost | 57638| 0| 0
colocated2|1500006| 8192|localhost | 57637| 8192|localhost | 57638| 0| 0
(4 rows)
colocated1 1500001 49152 localhost 57637 49152 localhost 57638 0 1
colocated2 1500005 376832 localhost 57637 376832 localhost 57638 0 1
colocated1 1500002 196608 localhost 57637 196608 localhost 57638 0 0
colocated2 1500006 8192 localhost 57637 8192 localhost 57638 0 0
step s2-unlock-1:
SELECT pg_advisory_unlock(29279, 1);
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
step s3-progress:
set client_min_messages=NOTICE;
SELECT
@ -63,27 +73,35 @@ step s3-progress:
progress
FROM get_rebalance_progress();
table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress
table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress
---------------------------------------------------------------------
colocated1|1500001| 73728|localhost | 57637| 49152|localhost | 57638| 73728| 2
colocated2|1500005| 401408|localhost | 57637| 376832|localhost | 57638| 401408| 2
colocated1|1500002| 196608|localhost | 57637| 196608|localhost | 57638| 0| 1
colocated2|1500006| 8192|localhost | 57637| 8192|localhost | 57638| 0| 1
(4 rows)
colocated1 1500001 73728 localhost 57637 49152 localhost 57638 73728 2
colocated2 1500005 401408 localhost 57637 376832 localhost 57638 401408 2
colocated1 1500002 196608 localhost 57637 196608 localhost 57638 0 1
colocated2 1500006 8192 localhost 57637 8192 localhost 57638 0 1
step s2-unlock-2:
SELECT pg_advisory_unlock(29279, 2);
pg_advisory_unlock
---------------------------------------------------------------------
t
(1 row)
step s1-rebalance-c1: <... completed>
table_name shardid shard_size sourcename sourceport targetname targetport
table_name|shardid|shard_size|sourcename|sourceport|targetname|targetport
---------------------------------------------------------------------
colocated1|1500001| 0|localhost | 57637|localhost | 57638
colocated2|1500005| 0|localhost | 57637|localhost | 57638
colocated1|1500002| 0|localhost | 57637|localhost | 57638
colocated2|1500006| 0|localhost | 57637|localhost | 57638
(4 rows)
colocated1 1500001 0 localhost 57637 localhost 57638
colocated2 1500005 0 localhost 57637 localhost 57638
colocated1 1500002 0 localhost 57637 localhost 57638
colocated2 1500006 0 localhost 57637 localhost 57638
rebalance_table_shards
---------------------------------------------------------------------
(1 row)
step s3-progress:
set client_min_messages=NOTICE;
@ -100,7 +118,9 @@ step s3-progress:
progress
FROM get_rebalance_progress();
table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress
table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress
---------------------------------------------------------------------
(0 rows)
step s1-commit:
COMMIT;
@ -120,8 +140,12 @@ step s3-progress:
progress
FROM get_rebalance_progress();
table_name shardid shard_size sourcename sourceport source_shard_sizetargetname targetport target_shard_sizeprogress
table_name|shardid|shard_size|sourcename|sourceport|source_shard_size|targetname|targetport|target_shard_size|progress
---------------------------------------------------------------------
(0 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,167 +2,205 @@ Parsed test spec with 2 sessions
starting permutation: s1-add-second-node s1-begin s2-begin s2-create-distributed-table s1-noshards s2-commit s1-commit s2-shardcounts
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-add-second-node:
SELECT 1 FROM master_add_node('localhost', 57638);
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-create-distributed-table:
CREATE TABLE t1 (a int);
-- session needs to have replication factor set to 1, can't do in setup
SET citus.shard_replication_factor TO 1;
SELECT create_distributed_table('t1', 'a');
CREATE TABLE t1 (a int);
-- session needs to have replication factor set to 1, can't do in setup
SET citus.shard_replication_factor TO 1;
SELECT create_distributed_table('t1', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-noshards:
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-noshards: <... completed>
master_set_node_property
---------------------------------------------------------------------
(1 row)
step s1-commit:
COMMIT;
COMMIT;
step s2-shardcounts:
SELECT nodeport, count(*)
FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid)
WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport;
SELECT nodeport, count(*)
FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid)
WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport;
nodeport count
nodeport|count
---------------------------------------------------------------------
57637| 2
57638| 2
(2 rows)
57637 2
57638 2
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-add-second-node s1-begin s2-begin s1-noshards s2-create-distributed-table s1-commit s2-commit s2-shardcounts
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-add-second-node:
SELECT 1 FROM master_add_node('localhost', 57638);
SELECT 1 FROM master_add_node('localhost', 57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-noshards:
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
master_set_node_property
---------------------------------------------------------------------
(1 row)
step s2-create-distributed-table:
CREATE TABLE t1 (a int);
-- session needs to have replication factor set to 1, can't do in setup
SET citus.shard_replication_factor TO 1;
SELECT create_distributed_table('t1', 'a');
CREATE TABLE t1 (a int);
-- session needs to have replication factor set to 1, can't do in setup
SET citus.shard_replication_factor TO 1;
SELECT create_distributed_table('t1', 'a');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-create-distributed-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit:
COMMIT;
COMMIT;
step s2-shardcounts:
SELECT nodeport, count(*)
FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid)
WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport;
SELECT nodeport, count(*)
FROM pg_dist_shard JOIN pg_dist_shard_placement USING (shardid)
WHERE logicalrelid = 't1'::regclass GROUP BY nodeport ORDER BY nodeport;
nodeport count
nodeport|count
---------------------------------------------------------------------
57638| 4
(1 row)
57638 4
master_remove_node
---------------------------------------------------------------------
(2 rows)
starting permutation: s1-begin s2-begin s1-noshards s2-update-node s1-commit s2-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s1-noshards:
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
master_set_node_property
---------------------------------------------------------------------
(1 row)
step s2-update-node:
select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638)
select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638)
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-update-node: <... completed>
master_update_node
---------------------------------------------------------------------
(1 row)
step s2-commit:
COMMIT;
COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s2-begin s2-update-node s1-noshards s2-commit s1-commit
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-begin:
BEGIN;
BEGIN;
step s2-begin:
BEGIN;
BEGIN;
step s2-update-node:
select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638)
select * from master_update_node((select nodeid from pg_dist_node where nodeport = 57637), 'localhost', 57638)
master_update_node
---------------------------------------------------------------------
(1 row)
step s1-noshards:
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
SELECT * from master_set_node_property('localhost', 57637, 'shouldhaveshards', false);
<waiting ...>
step s2-commit:
COMMIT;
step s2-commit:
COMMIT;
step s1-noshards: <... completed>
error in steps s2-commit s1-noshards: ERROR: node at "localhost:xxxxx" does not exist
ERROR: node at "localhost:xxxxx" does not exist
step s1-commit:
COMMIT;
COMMIT;
master_remove_node
---------------------------------------------------------------------
(1 row)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-recover s2-insert s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -11,8 +13,10 @@ step s1-recover:
SELECT recover_prepared_transactions();
recover_prepared_transactions
---------------------------------------------------------------------
0
(1 row)
0
step s2-insert:
INSERT INTO test_transaction_recovery VALUES (1,2);
@ -22,7 +26,9 @@ step s1-commit:
starting permutation: s1-begin s1-recover s2-recover s1-commit
create_reference_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -31,15 +37,19 @@ step s1-recover:
SELECT recover_prepared_transactions();
recover_prepared_transactions
---------------------------------------------------------------------
0
(1 row)
0
step s2-recover:
SELECT recover_prepared_transactions();
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-recover: <... completed>
recover_prepared_transactions
---------------------------------------------------------------------
0
(1 row)
0

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -14,15 +16,21 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -34,15 +42,21 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-drop s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -55,12 +69,16 @@ step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
ERROR: relation "truncate_append" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -72,20 +90,28 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-truncate s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX truncate_append_index ON truncate_append(id);
@ -98,20 +124,28 @@ step s2-ddl-drop-index: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-truncate s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -121,20 +155,28 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -146,20 +188,28 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-truncate s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE truncate_append ADD new_column int DEFAULT 0;
@ -172,20 +222,28 @@ step s2-ddl-drop-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -197,20 +255,28 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-table-size s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -220,20 +286,28 @@ step s2-table-size: SELECT citus_total_relation_size('truncate_append'); <waitin
step s1-commit: COMMIT;
step s2-table-size: <... completed>
citus_total_relation_size
---------------------------------------------------------------------
0
(1 row)
0
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-master-modify-multiple-shards s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -245,15 +319,21 @@ step s2-master-modify-multiple-shards: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-master-apply-delete-command s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -263,20 +343,28 @@ step s2-master-apply-delete-command: SELECT master_apply_delete_command('DELETE
step s1-commit: COMMIT;
step s2-master-apply-delete-command: <... completed>
master_apply_delete_command
---------------------------------------------------------------------
0
(1 row)
0
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-master-drop-all-shards s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -286,20 +374,28 @@ step s2-master-drop-all-shards: SELECT citus_drop_all_shards('truncate_append'::
step s1-commit: COMMIT;
step s2-master-drop-all-shards: <... completed>
citus_drop_all_shards
---------------------------------------------------------------------
0
(1 row)
0
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-begin s2-begin s1-truncate s2-distribute-table s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE truncate_append;
step s1-create-non-distributed-table: CREATE TABLE truncate_append(id integer, data text);
@ -310,20 +406,28 @@ step s2-distribute-table: SELECT create_distributed_table('truncate_append', 'id
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -335,15 +439,21 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -352,17 +462,21 @@ step s1-drop: DROP TABLE truncate_append;
step s2-truncate: TRUNCATE truncate_append; <waiting ...>
step s1-commit: COMMIT;
step s2-truncate: <... completed>
error in steps s1-commit s2-truncate: ERROR: relation "truncate_append" does not exist
ERROR: relation "truncate_append" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
ERROR: relation "truncate_append" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-truncate s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -374,20 +488,28 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-truncate s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX truncate_append_index ON truncate_append(id);
@ -400,20 +522,28 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''truncate_append%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,0)
(localhost,57638,t,0)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-truncate s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -425,20 +555,28 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-truncate s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE truncate_append ADD new_column int DEFAULT 0;
@ -451,20 +589,28 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-truncate s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -476,42 +622,58 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''truncate_append%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('truncate_append');
citus_total_relation_size
---------------------------------------------------------------------
32768
(1 row)
32768
step s2-truncate: TRUNCATE truncate_append;
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -523,61 +685,83 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-apply-delete-command s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-master-apply-delete-command: SELECT master_apply_delete_command('DELETE FROM truncate_append WHERE id <= 4;');
master_apply_delete_command
---------------------------------------------------------------------
1
(1 row)
1
step s2-truncate: TRUNCATE truncate_append; <waiting ...>
step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-drop-all-shards s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY truncate_append FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-master-drop-all-shards: SELECT citus_drop_all_shards('truncate_append'::regclass, 'public', 'truncate_append');
citus_drop_all_shards
---------------------------------------------------------------------
1
(1 row)
1
step s2-truncate: TRUNCATE truncate_append; <waiting ...>
step s1-commit: COMMIT;
step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-begin s2-begin s1-distribute-table s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE truncate_append;
step s1-create-non-distributed-table: CREATE TABLE truncate_append(id integer, data text);
@ -585,7 +769,9 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-distribute-table: SELECT create_distributed_table('truncate_append', 'id', 'append');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-truncate: TRUNCATE truncate_append; <waiting ...>
step s1-commit: COMMIT;
@ -593,8 +779,12 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM truncate_append;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -5,71 +5,95 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-select 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
@ -77,71 +101,95 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id = 6');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id = 6');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-insert-select 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
@ -149,71 +197,95 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-insert-select:
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO truncate_table SELECT * FROM truncate_table');
SELECT run_commands_on_session_level_connection_to_node('INSERT INTO truncate_table SELECT * FROM truncate_table');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
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
@ -221,71 +293,95 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM truncate_table WHERE id IN (5, 6, 7)');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM truncate_table WHERE id IN (5, 6, 7)');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-copy 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
@ -293,122 +389,160 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY truncate_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY truncate_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-begin s1-alter s2-start-session-level-connection s2-begin-on-worker s2-truncate s1-commit s2-commit-worker s2-stop-connection s3-select-count
step s1-begin:
BEGIN;
BEGIN;
step s1-alter:
ALTER TABLE truncate_table DROP value;
ALTER TABLE truncate_table DROP value;
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit:
COMMIT;
step s1-commit:
COMMIT;
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
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 s3-select-count
@ -416,69 +550,93 @@ step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id=5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM truncate_table WHERE id=5 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate:
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
SELECT run_commands_on_session_level_connection_to_node('TRUNCATE truncate_table');
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-truncate: <... completed>
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM truncate_table;
SELECT COUNT(*) FROM truncate_table;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -8,16 +8,18 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-undistribute:
SELECT undistribute_table('dist_table');
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-undistribute: <... completed>
error in steps s1-commit s2-undistribute: ERROR: cannot complete operation because no such table exists
ERROR: cannot complete operation because no such table exists
starting permutation: s1-begin s1-undistribute s2-select s1-commit
step s1-begin:
@ -27,20 +29,24 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT * FROM dist_table ORDER BY 1, 2;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-select: <... completed>
a b
a|b
---------------------------------------------------------------------
1|2
3|4
5|6
(3 rows)
1 2
3 4
5 6
starting permutation: s1-begin s1-undistribute s2-insert s1-commit s2-select
step s1-begin:
@ -50,25 +56,29 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-insert:
INSERT INTO dist_table VALUES (7, 8), (9, 10);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-insert: <... completed>
step s2-select:
SELECT * FROM dist_table ORDER BY 1, 2;
a b
a| b
---------------------------------------------------------------------
1| 2
3| 4
5| 6
7| 8
9|10
(5 rows)
1 2
3 4
5 6
7 8
9 10
starting permutation: s1-begin s1-undistribute s2-insert-select s1-commit s2-select
step s1-begin:
@ -78,26 +88,30 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-insert-select:
INSERT INTO dist_table SELECT * FROM dist_table;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-insert-select: <... completed>
step s2-select:
SELECT * FROM dist_table ORDER BY 1, 2;
a b
a|b
---------------------------------------------------------------------
1|2
1|2
3|4
3|4
5|6
5|6
(6 rows)
1 2
1 2
3 4
3 4
5 6
5 6
starting permutation: s1-begin s1-undistribute s2-delete s1-commit s2-select
step s1-begin:
@ -107,22 +121,26 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-delete:
DELETE FROM dist_table WHERE a = 3;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-delete: <... completed>
step s2-select:
SELECT * FROM dist_table ORDER BY 1, 2;
a b
a|b
---------------------------------------------------------------------
1|2
5|6
(2 rows)
1 2
5 6
starting permutation: s1-begin s1-undistribute s2-copy s1-commit s2-select
step s1-begin:
@ -132,25 +150,29 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-copy:
COPY dist_table FROM PROGRAM 'echo 11, 12 && echo 13, 14' WITH CSV;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-copy: <... completed>
step s2-select:
SELECT * FROM dist_table ORDER BY 1, 2;
a b
a| b
---------------------------------------------------------------------
1| 2
3| 4
5| 6
11|12
13|14
(5 rows)
1 2
3 4
5 6
11 12
13 14
starting permutation: s1-begin s1-undistribute s2-drop s1-commit s2-select
step s1-begin:
@ -160,12 +182,14 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-drop:
DROP TABLE dist_table;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-drop: <... completed>
@ -182,19 +206,23 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-truncate:
TRUNCATE dist_table;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-truncate: <... completed>
step s2-select:
SELECT * FROM dist_table ORDER BY 1, 2;
a b
a|b
---------------------------------------------------------------------
(0 rows)
starting permutation: s1-begin s1-undistribute s2-select-for-update s1-commit
@ -205,18 +233,22 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT * FROM dist_table WHERE a = 5 FOR UPDATE;
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-select-for-update: <... completed>
a b
a|b
---------------------------------------------------------------------
5|6
(1 row)
5 6
starting permutation: s1-begin s1-undistribute s2-create-index-concurrently s1-commit
step s1-begin:
@ -226,12 +258,14 @@ step s1-undistribute:
SELECT undistribute_table('dist_table');
undistribute_table
---------------------------------------------------------------------
(1 row)
step s2-create-index-concurrently:
CREATE INDEX CONCURRENTLY idx ON dist_table (a);
<waiting ...>
step s1-commit:
step s1-commit:
COMMIT;
step s2-create-index-concurrently: <... completed>

View File

@ -2,288 +2,388 @@ Parsed test spec with 3 sessions
starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-start-session-level-connection s2-begin-on-worker s2-delete s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5');
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM dist_table WHERE id=5');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM dist_table WHERE id=5');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM dist_table;
SELECT COUNT(*) FROM dist_table;
count
---------------------------------------------------------------------
0
(1 row)
0
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-copy s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-delete:
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM dist_table WHERE id=5');
SELECT run_commands_on_session_level_connection_to_node('DELETE FROM dist_table WHERE id=5');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-copy:
SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV');
SELECT run_commands_on_session_level_connection_to_node('COPY dist_table FROM PROGRAM ''echo 5, 50 && echo 9, 90 && echo 10, 100''WITH CSV');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM dist_table;
SELECT COUNT(*) FROM dist_table;
count
---------------------------------------------------------------------
3
(1 row)
3
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-alter-table s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection s3-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5');
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-alter-table:
ALTER TABLE dist_table DROP value;
ALTER TABLE dist_table DROP value;
<waiting ...>
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-alter-table: <... completed>
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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-select-count:
SELECT COUNT(*) FROM dist_table;
SELECT COUNT(*) FROM dist_table;
count
---------------------------------------------------------------------
0
(1 row)
0
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-select-for-update s1-commit-worker s2-commit-worker s1-stop-connection s2-stop-connection
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57637);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-update:
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5');
SELECT run_commands_on_session_level_connection_to_node('UPDATE dist_table SET value=15 WHERE id=5');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-start-session-level-connection:
SELECT start_session_level_connection_to_node('localhost', 57638);
start_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-begin-on-worker:
SELECT run_commands_on_session_level_connection_to_node('BEGIN');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-select-for-update:
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=5 FOR UPDATE');
SELECT run_commands_on_session_level_connection_to_node('SELECT * FROM dist_table WHERE id=5 FOR UPDATE');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s2-commit-worker:
SELECT run_commands_on_session_level_connection_to_node('COMMIT');
run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
SELECT stop_session_level_connection_to_node();
stop_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)

View File

@ -1,10 +1,12 @@
Parsed test spec with 2 sessions
starting permutation: s1-begin s1-update-node-1 s2-update-node-2 s1-commit s1-show-nodes
nodeid nodename nodeport
nodeid|nodename |nodeport
---------------------------------------------------------------------
22|localhost| 57637
23|localhost| 57638
(2 rows)
22 localhost 57637
23 localhost 57638
step s1-begin:
BEGIN;
@ -15,8 +17,10 @@ step s1-update-node-1:
58637);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-update-node-2:
SELECT 1 FROM master_update_node(
(select nodeid from pg_dist_node where nodeport = 57638),
@ -28,25 +32,33 @@ step s1-commit:
step s2-update-node-2: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-show-nodes:
SELECT nodeid, nodename, nodeport, isactive
FROM pg_dist_node
ORDER BY nodename, nodeport;
nodeid nodename nodeport isactive
nodeid|nodename |nodeport|isactive
---------------------------------------------------------------------
22|localhost| 58637|t
23|localhost| 58638|t
(2 rows)
22 localhost 58637 t
23 localhost 58638 t
nodeid nodename nodeport
nodeid|nodename|nodeport
---------------------------------------------------------------------
(0 rows)
starting permutation: s1-begin s1-update-node-1 s2-begin s2-update-node-1 s1-commit s2-abort s1-show-nodes
nodeid nodename nodeport
nodeid|nodename |nodeport
---------------------------------------------------------------------
24|localhost| 57637
25|localhost| 57638
(2 rows)
24 localhost 57637
25 localhost 57638
step s1-begin:
BEGIN;
@ -57,8 +69,10 @@ step s1-update-node-1:
58637);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-begin:
BEGIN;
@ -73,8 +87,10 @@ step s1-commit:
step s2-update-node-1: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-abort:
ABORT;
@ -83,18 +99,24 @@ step s1-show-nodes:
FROM pg_dist_node
ORDER BY nodename, nodeport;
nodeid nodename nodeport isactive
nodeid|nodename |nodeport|isactive
---------------------------------------------------------------------
25|localhost| 57638|t
24|localhost| 58637|t
(2 rows)
25 localhost 57638 t
24 localhost 58637 t
nodeid nodename nodeport
nodeid|nodename|nodeport
---------------------------------------------------------------------
(0 rows)
starting permutation: s1-begin s1-update-node-1 s2-start-metadata-sync-node-2 s1-commit s2-verify-metadata
nodeid nodename nodeport
nodeid|nodename |nodeport
---------------------------------------------------------------------
26|localhost| 57637
27|localhost| 57638
(2 rows)
26 localhost 57637
27 localhost 57638
step s1-begin:
BEGIN;
@ -105,8 +127,10 @@ step s1-update-node-1:
58637);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-start-metadata-sync-node-2:
SELECT start_metadata_sync_to_node('localhost', 57638);
<waiting ...>
@ -115,7 +139,9 @@ step s1-commit:
step s2-start-metadata-sync-node-2: <... completed>
start_metadata_sync_to_node
---------------------------------------------------------------------
(1 row)
step s2-verify-metadata:
SELECT nodeid, groupid, nodename, nodeport FROM pg_dist_node ORDER BY nodeid;
@ -124,27 +150,37 @@ step s2-verify-metadata:
ARRAY['SELECT jsonb_agg(ROW(nodeid, groupid, nodename, nodeport) ORDER BY nodeid) FROM pg_dist_node'],
false);
nodeid groupid nodename nodeport
nodeid|groupid|nodename |nodeport
---------------------------------------------------------------------
26| 26|localhost| 58637
27| 27|localhost| 57638
(2 rows)
26 26 localhost 58637
27 27 localhost 57638
master_run_on_worker
---------------------------------------------------------------------
(localhost,57638,t,"[{""f1"": 26, ""f2"": 26, ""f3"": ""localhost"", ""f4"": 58637}, {""f1"": 27, ""f2"": 27, ""f3"": ""localhost"", ""f4"": 57638}]")
nodeid nodename nodeport
(1 row)
nodeid|nodename|nodeport
---------------------------------------------------------------------
(0 rows)
starting permutation: s2-create-table s1-begin s1-update-node-nonexistent s1-prepare-transaction s2-cache-prepared-statement s1-commit-prepared s2-execute-prepared s1-update-node-existent s2-drop-table
nodeid nodename nodeport
nodeid|nodename |nodeport
---------------------------------------------------------------------
28|localhost| 57637
29|localhost| 57638
(2 rows)
28 localhost 57637
29 localhost 57638
step s2-create-table:
CREATE TABLE test (a int);
SELECT create_distributed_table('test','a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -156,8 +192,10 @@ step s1-update-node-nonexistent:
57637);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s1-prepare-transaction:
PREPARE transaction 'label';
@ -171,23 +209,35 @@ step s2-cache-prepared-statement:
EXECUTE foo;
count
---------------------------------------------------------------------
0
(1 row)
0
count
---------------------------------------------------------------------
0
(1 row)
0
count
---------------------------------------------------------------------
0
(1 row)
0
count
---------------------------------------------------------------------
0
(1 row)
0
count
---------------------------------------------------------------------
0
(1 row)
0
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-commit-prepared:
COMMIT prepared 'label';
@ -196,8 +246,10 @@ step s2-execute-prepared:
EXECUTE foo;
count
---------------------------------------------------------------------
0
(1 row)
0
step s1-update-node-existent:
SELECT 1 FROM master_update_node(
(select nodeid from pg_dist_node where nodeport = 57637),
@ -205,10 +257,14 @@ step s1-update-node-existent:
57637);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-drop-table:
DROP TABLE test;
nodeid nodename nodeport
nodeid|nodename|nodeport
---------------------------------------------------------------------
(0 rows)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-begin s1-update-node-1 s2-begin s2-insert s1-commit s2-abort
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -14,8 +16,10 @@ step s1-update-node-1:
57638);
?column?
---------------------------------------------------------------------
1
(1 row)
1
step s2-begin:
BEGIN;
@ -28,16 +32,20 @@ step s1-commit:
COMMIT;
step s2-insert: <... completed>
error in steps s1-commit s2-insert: ERROR: relation "public.update_node_102012" does not exist
ERROR: relation "public.update_node_102012" does not exist
step s2-abort:
ABORT;
nodeid nodename nodeport
nodeid|nodename|nodeport
---------------------------------------------------------------------
(0 rows)
starting permutation: s2-begin s2-insert s1-update-node-1 s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -58,7 +66,11 @@ step s2-commit:
step s1-update-node-1: <... completed>
?column?
---------------------------------------------------------------------
1
(1 row)
1
nodeid nodename nodeport
nodeid|nodename|nodeport
---------------------------------------------------------------------
(0 rows)

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -14,15 +16,21 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-update s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -34,15 +42,21 @@ step s2-update: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-delete s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -54,15 +68,21 @@ step s2-delete: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
4
(1 row)
4
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-truncate s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -74,15 +94,21 @@ step s2-truncate: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-drop s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -95,12 +121,16 @@ step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
ERROR: relation "upsert_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-ddl-create-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -112,20 +142,28 @@ step s2-ddl-create-index: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,4)
(localhost,57638,t,4)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-upsert s2-ddl-drop-index s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX upsert_hash_index ON upsert_hash(id);
@ -138,20 +176,28 @@ step s2-ddl-drop-index: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s1-upsert s2-ddl-create-index-concurrently s1-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -161,20 +207,28 @@ step s1-commit: COMMIT;
step s2-ddl-create-index-concurrently: <... completed>
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,4)
(localhost,57638,t,4)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-ddl-add-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -186,20 +240,28 @@ step s2-ddl-add-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-upsert s2-ddl-drop-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE upsert_hash ADD new_column int DEFAULT 0;
@ -212,20 +274,28 @@ step s2-ddl-drop-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-ddl-rename-column s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -237,20 +307,28 @@ step s2-ddl-rename-column: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-table-size s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -258,21 +336,29 @@ step s2-begin: BEGIN;
step s1-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k';
step s2-table-size: SELECT citus_total_relation_size('upsert_hash');
citus_total_relation_size
---------------------------------------------------------------------
114688
(1 row)
114688
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-upsert s2-master-modify-multiple-shards s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -284,15 +370,21 @@ step s2-master-modify-multiple-shards: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
0
(1 row)
0
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-drop s1-create-non-distributed-table s1-initialize s1-begin s2-begin s1-upsert s2-distribute-table s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-drop: DROP TABLE upsert_hash;
step s1-create-non-distributed-table: CREATE TABLE upsert_hash(id integer PRIMARY KEY, data text);
@ -304,20 +396,28 @@ step s2-distribute-table: SELECT create_distributed_table('upsert_hash', 'id');
step s1-commit: COMMIT;
step s2-distribute-table: <... completed>
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-update s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -329,15 +429,21 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-delete s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -349,15 +455,21 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-truncate s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -369,15 +481,21 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
1
(1 row)
1
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-drop s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -386,17 +504,21 @@ step s1-drop: DROP TABLE upsert_hash;
step s2-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k'; <waiting ...>
step s1-commit: COMMIT;
step s2-upsert: <... completed>
error in steps s1-commit s2-upsert: ERROR: relation "upsert_hash" does not exist
ERROR: relation "upsert_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
ERROR: relation "upsert_hash" does not exist
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-create-index s2-upsert s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -408,20 +530,28 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,4)
(localhost,57638,t,4)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-create-index s1-begin s2-begin s1-ddl-drop-index s2-upsert s1-commit s2-commit s1-select-count s1-show-indexes
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-create-index: CREATE INDEX upsert_hash_index ON upsert_hash(id);
@ -434,20 +564,28 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-indexes: SELECT run_command_on_workers('SELECT COUNT(*) FROM pg_indexes WHERE tablename LIKE ''upsert_hash%''');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,2)
(localhost,57638,t,2)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-add-column s2-upsert s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -459,20 +597,28 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-ddl-add-column s1-begin s2-begin s1-ddl-drop-column s2-upsert s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-ddl-add-column: ALTER TABLE upsert_hash ADD new_column int DEFAULT 0;
@ -485,20 +631,28 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,"")
(localhost,57638,t,"")
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-ddl-rename-column s2-upsert s1-commit s2-commit s1-select-count s1-show-columns
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -507,46 +661,62 @@ step s1-ddl-rename-column: ALTER TABLE upsert_hash RENAME data TO new_column;
step s2-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k'; <waiting ...>
step s1-commit: COMMIT;
step s2-upsert: <... completed>
error in steps s1-commit s2-upsert: ERROR: column "data" of relation "upsert_hash" does not exist
ERROR: column "data" of relation "upsert_hash" does not exist
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
step s1-show-columns: SELECT run_command_on_workers('SELECT column_name FROM information_schema.columns WHERE table_name LIKE ''upsert_hash%'' AND column_name = ''new_column'' ORDER BY 1 LIMIT 1');
run_command_on_workers
---------------------------------------------------------------------
(localhost,57637,t,new_column)
(localhost,57638,t,new_column)
restore_isolation_tester_func
(2 rows)
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-table-size s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s1-table-size: SELECT citus_total_relation_size('upsert_hash');
citus_total_relation_size
---------------------------------------------------------------------
114688
(1 row)
114688
step s2-upsert: INSERT INTO upsert_hash VALUES(4, 'k') ON CONFLICT(id) DO UPDATE SET data = 'k';
step s1-commit: COMMIT;
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
5
(1 row)
5
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)
starting permutation: s1-initialize s1-begin s2-begin s1-master-modify-multiple-shards s2-upsert s1-commit s2-commit s1-select-count
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: COPY upsert_hash FROM PROGRAM 'echo 0, a && echo 1, b && echo 2, c && echo 3, d && echo 4, e' WITH CSV;
step s1-begin: BEGIN;
@ -558,8 +728,12 @@ step s2-upsert: <... completed>
step s2-commit: COMMIT;
step s1-select-count: SELECT COUNT(*) FROM upsert_hash;
count
---------------------------------------------------------------------
1
(1 row)
1
restore_isolation_tester_func
---------------------------------------------------------------------
(1 row)

View File

@ -2,7 +2,9 @@ Parsed test spec with 2 sessions
starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s1-validate s2-insert s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4);
step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID;
@ -15,7 +17,9 @@ step s2-commit: COMMIT;
starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s1-validate s2-select s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4);
step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID;
@ -24,14 +28,18 @@ step s2-begin: BEGIN;
step s1-validate: ALTER TABLE constrained_table VALIDATE CONSTRAINT check_constraint;
step s2-select: SELECT sum(int_data) FROM constrained_table;
sum
---------------------------------------------------------------------
7
(1 row)
7
step s1-commit: COMMIT;
step s2-commit: COMMIT;
starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s2-insert s1-validate s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4);
step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID;
@ -44,7 +52,9 @@ step s2-commit: COMMIT;
starting permutation: s1-initialize s1-add-constraint s1-begin s2-begin s2-select s1-validate s1-commit s2-commit
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-initialize: INSERT INTO constrained_table VALUES (0, 0), (1, 1), (2, 2), (3, 4);
step s1-add-constraint: ALTER TABLE constrained_table ADD CONSTRAINT check_constraint CHECK(int_data<30) NOT VALID;
@ -52,8 +62,10 @@ step s1-begin: BEGIN;
step s2-begin: BEGIN;
step s2-select: SELECT sum(int_data) FROM constrained_table;
sum
---------------------------------------------------------------------
7
(1 row)
7
step s1-validate: ALTER TABLE constrained_table VALIDATE CONSTRAINT check_constraint;
step s1-commit: COMMIT;
step s2-commit: COMMIT;

View File

@ -2,32 +2,40 @@ Parsed test spec with 3 sessions
starting permutation: s3-lower-pool-size s1-begin s1-count-slow s3-increase-pool-size s2-select s1-commit
step s3-lower-pool-size:
SELECT set_max_shared_pool_size(5);
SELECT set_max_shared_pool_size(5);
set_max_shared_pool_size
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
BEGIN;
step s1-count-slow:
SELECT pg_sleep(0.1), count(*) FROM test;
SELECT pg_sleep(0.1), count(*) FROM test;
pg_sleep count
pg_sleep|count
---------------------------------------------------------------------
| 101
(1 row)
101
step s3-increase-pool-size:
SELECT set_max_shared_pool_size(100);
SELECT set_max_shared_pool_size(100);
set_max_shared_pool_size
---------------------------------------------------------------------
(1 row)
step s2-select:
SELECT count(*) FROM test;
count
---------------------------------------------------------------------
101
(1 row)
101
step s1-commit:
COMMIT;
COMMIT;