Fix isolation tests

new-record-failure-dnm
Halil Ozan Akgul 2022-04-20 19:03:46 +03:00
parent 6988693e49
commit f807513100
4 changed files with 70 additions and 46 deletions

View File

@ -1235,7 +1235,7 @@ master_remove_node
(2 rows)
starting permutation: s1-print-distributed-objects s1-add-worker s2-create-schema s2-begin s3-begin s3-use-schema s2-create-table s3-create-table s2-commit s3-commit s2-print-distributed-objects s3-drop-coordinator-schemas
starting permutation: s1-print-distributed-objects s2-create-table-for-colocation s1-add-worker s2-create-schema s2-begin s3-begin s3-use-schema s2-create-table s3-create-table s2-commit s3-commit s2-print-distributed-objects s3-drop-coordinator-schemas
?column?
---------------------------------------------------------------------
1
@ -1306,6 +1306,16 @@ master_remove_node
(1 row)
step s2-create-table-for-colocation:
CREATE SCHEMA col_schema;
CREATE TABLE col_schema.col_tbl (a INT, b INT);
SELECT create_distributed_table('col_schema.col_tbl', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-add-worker:
SELECT 1 FROM master_add_node('localhost', 57638);
@ -1372,11 +1382,13 @@ pg_identify_object_as_address
---------------------------------------------------------------------
(database,{regression},{})
(role,{postgres},{})
(schema,{col_schema},{})
(schema,{myschema},{})
(schema,{public},{})
(table,"{col_schema,col_tbl}",{})
(table,"{myschema,t1}",{})
(table,"{myschema,t2}",{})
(6 rows)
(8 rows)
count
---------------------------------------------------------------------
@ -2139,7 +2151,7 @@ master_remove_node
(2 rows)
starting permutation: s1-print-distributed-objects s1-begin s1-add-worker s2-public-schema s2-distribute-function s1-commit s2-begin s2-commit s3-wait-for-metadata-sync s2-print-distributed-objects s3-drop-coordinator-schemas
starting permutation: s1-print-distributed-objects s2-create-table-for-colocation s1-begin s1-add-worker s2-public-schema s2-distribute-function s1-commit s2-begin s2-commit s3-wait-for-metadata-sync s2-print-distributed-objects s3-drop-coordinator-schemas
?column?
---------------------------------------------------------------------
1
@ -2210,6 +2222,16 @@ master_remove_node
(1 row)
step s2-create-table-for-colocation:
CREATE SCHEMA col_schema;
CREATE TABLE col_schema.col_tbl (a INT, b INT);
SELECT create_distributed_table('col_schema.col_tbl', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -2269,8 +2291,10 @@ pg_identify_object_as_address
(database,{regression},{})
(function,"{public,add}","{integer,integer}")
(role,{postgres},{})
(schema,{col_schema},{})
(schema,{public},{})
(4 rows)
(table,"{col_schema,col_tbl}",{})
(6 rows)
count
---------------------------------------------------------------------
@ -2322,7 +2346,7 @@ master_remove_node
(2 rows)
starting permutation: s1-print-distributed-objects s1-begin s2-public-schema s2-distribute-function s2-begin s2-commit s3-wait-for-metadata-sync s1-add-worker s1-commit s3-wait-for-metadata-sync s2-print-distributed-objects s3-drop-coordinator-schemas
starting permutation: s1-print-distributed-objects s2-create-table-for-colocation s1-begin s2-public-schema s2-distribute-function s2-begin s2-commit s3-wait-for-metadata-sync s1-add-worker s1-commit s3-wait-for-metadata-sync s2-print-distributed-objects s3-drop-coordinator-schemas
?column?
---------------------------------------------------------------------
1
@ -2393,6 +2417,16 @@ master_remove_node
(1 row)
step s2-create-table-for-colocation:
CREATE SCHEMA col_schema;
CREATE TABLE col_schema.col_tbl (a INT, b INT);
SELECT create_distributed_table('col_schema.col_tbl', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s1-begin:
BEGIN;
@ -2459,8 +2493,10 @@ pg_identify_object_as_address
(database,{regression},{})
(function,"{public,add}","{integer,integer}")
(role,{postgres},{})
(schema,{col_schema},{})
(schema,{public},{})
(4 rows)
(table,"{col_schema,col_tbl}",{})
(6 rows)
count
---------------------------------------------------------------------
@ -2512,7 +2548,7 @@ master_remove_node
(2 rows)
starting permutation: s1-print-distributed-objects s2-begin s2-create-schema s2-distribute-function s2-commit s3-wait-for-metadata-sync s1-begin s1-add-worker s1-commit s3-wait-for-metadata-sync s2-print-distributed-objects s3-drop-coordinator-schemas
starting permutation: s1-print-distributed-objects s2-create-table-for-colocation s2-begin s2-create-schema s2-distribute-function s2-commit s3-wait-for-metadata-sync s1-begin s1-add-worker s1-commit s3-wait-for-metadata-sync s2-print-distributed-objects s3-drop-coordinator-schemas
?column?
---------------------------------------------------------------------
1
@ -2583,6 +2619,16 @@ master_remove_node
(1 row)
step s2-create-table-for-colocation:
CREATE SCHEMA col_schema;
CREATE TABLE col_schema.col_tbl (a INT, b INT);
SELECT create_distributed_table('col_schema.col_tbl', 'a');
create_distributed_table
---------------------------------------------------------------------
(1 row)
step s2-begin:
BEGIN;
@ -2650,9 +2696,11 @@ pg_identify_object_as_address
(database,{regression},{})
(function,"{myschema,add}","{integer,integer}")
(role,{postgres},{})
(schema,{col_schema},{})
(schema,{myschema},{})
(schema,{public},{})
(5 rows)
(table,"{col_schema,col_tbl}",{})
(7 rows)
count
---------------------------------------------------------------------

View File

@ -204,7 +204,7 @@ restore_isolation_tester_func
(1 row)
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
starting permutation: s1-add-primary-key s1-start-session-level-connection s1-begin-on-worker s1-upsert s2-drop s1-commit-worker s1-stop-connection s3-select-count
create_reference_table
---------------------------------------------------------------------
@ -237,22 +237,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-drop:
DROP TABLE ref_table;
<waiting ...>
@ -265,14 +249,6 @@ run_commands_on_session_level_connection_to_node
(1 row)
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
---------------------------------------------------------------------
(1 row)
step s1-stop-connection:
SELECT stop_session_level_connection_to_node();
@ -281,14 +257,6 @@ 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;

View File

@ -18,6 +18,7 @@ teardown
SELECT 1 FROM master_add_node('localhost', 57638);
RESET search_path;
DROP SCHEMA IF EXISTS col_schema CASCADE;
DROP TABLE IF EXISTS t1 CASCADE;
DROP TABLE IF EXISTS t2 CASCADE;
DROP TABLE IF EXISTS t3 CASCADE;
@ -118,6 +119,13 @@ step "s2-commit"
COMMIT;
}
step "s2-create-table-for-colocation"
{
CREATE SCHEMA col_schema;
CREATE TABLE col_schema.col_tbl (a INT, b INT);
SELECT create_distributed_table('col_schema.col_tbl', 'a');
}
// prints from session 2 are run at the end when the worker has already been added by the
// test
step "s2-print-distributed-objects"
@ -199,7 +207,7 @@ permutation "s1-print-distributed-objects" "s1-begin" "s2-begin" "s2-create-sche
// concurrency tests with multi schema distribution
permutation "s1-print-distributed-objects" "s2-create-schema" "s1-begin" "s2-begin" "s1-add-worker" "s2-create-table" "s1-commit" "s2-commit" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s1-add-worker" "s2-create-schema" "s2-begin" "s3-begin" "s3-use-schema" "s2-create-table" "s3-create-table" "s2-commit" "s3-commit" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s2-create-table-for-colocation" "s1-add-worker" "s2-create-schema" "s2-begin" "s3-begin" "s3-use-schema" "s2-create-table" "s3-create-table" "s2-commit" "s3-commit" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s1-begin" "s2-begin" "s3-begin" "s1-add-worker" "s2-create-schema" "s3-create-schema2" "s1-commit" "s2-create-table" "s2-commit" "s3-create-table" "s3-commit" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
// type and schema tests
@ -212,10 +220,10 @@ permutation "s1-print-distributed-objects" "s1-begin" "s2-begin" "s2-create-sche
// s3-wait-for-metadata-sync step, we do "s2-begin" followed directly by
// "s2-commit", because "COMMIT" syncs the messages
permutation "s1-print-distributed-objects" "s1-begin" "s1-add-worker" "s2-public-schema" "s2-distribute-function" "s1-commit" "s2-begin" "s2-commit" "s3-wait-for-metadata-sync" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s1-begin" "s2-public-schema" "s2-distribute-function" "s2-begin" "s2-commit" "s3-wait-for-metadata-sync" "s1-add-worker" "s1-commit" "s3-wait-for-metadata-sync" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s2-create-table-for-colocation" "s1-begin" "s1-add-worker" "s2-public-schema" "s2-distribute-function" "s1-commit" "s2-begin" "s2-commit" "s3-wait-for-metadata-sync" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s2-create-table-for-colocation" "s1-begin" "s2-public-schema" "s2-distribute-function" "s2-begin" "s2-commit" "s3-wait-for-metadata-sync" "s1-add-worker" "s1-commit" "s3-wait-for-metadata-sync" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
// we cannot run the following operations concurrently
// the problem is that NOTIFY event doesn't (reliably) happen before COMMIT
// so we have to commit s2 before s1 starts
permutation "s1-print-distributed-objects" "s2-begin" "s2-create-schema" "s2-distribute-function" "s2-commit" "s3-wait-for-metadata-sync" "s1-begin" "s1-add-worker" "s1-commit" "s3-wait-for-metadata-sync" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"
permutation "s1-print-distributed-objects" "s2-create-table-for-colocation" "s2-begin" "s2-create-schema" "s2-distribute-function" "s2-commit" "s3-wait-for-metadata-sync" "s1-begin" "s1-add-worker" "s1-commit" "s3-wait-for-metadata-sync" "s2-print-distributed-objects" "s3-drop-coordinator-schemas"

View File

@ -110,7 +110,7 @@ step "s3-select-count"
permutation "s1-add-primary-key" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-upsert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-select" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-insert-select-ref-table" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-add-primary-key" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-upsert" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-drop" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
permutation "s1-add-primary-key" "s1-start-session-level-connection" "s1-begin-on-worker" "s1-upsert" "s2-drop" "s1-commit-worker" "s1-stop-connection" "s3-select-count"
permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-delete" "s2-start-session-level-connection" "s2-begin-on-worker" "s2-truncate" "s1-commit-worker" "s2-commit-worker" "s1-stop-connection" "s2-stop-connection" "s3-select-count"
//Not able to test the next permutation, until issue with CREATE INDEX CONCURRENTLY's locks is resolved. Issue #2966
//permutation "s1-start-session-level-connection" "s1-begin-on-worker" "s1-update" "s2-coordinator-create-index-concurrently" "s1-commit-worker" "s3-select-count" "s1-stop-connection"