diff --git a/src/test/regress/expected/isolation_add_remove_node.out b/src/test/regress/expected/isolation_add_remove_node.out index e5f583bd0..e6d03b1a4 100644 --- a/src/test/regress/expected/isolation_add_remove_node.out +++ b/src/test/regress/expected/isolation_add_remove_node.out @@ -31,6 +31,41 @@ nodename nodeport isactive master_remove_node +starting permutation: s1-begin s1-add-node-1 s2-add-node-2 s1-commit s1-show-nodes +?column? + +1 +step s1-begin: + BEGIN; + +step s1-add-node-1: + SELECT 1 FROM master_add_node('localhost', 57637); + +?column? + +1 +step s2-add-node-2: + SELECT 1 FROM master_add_node('localhost', 57638); + +step s1-commit: + COMMIT; + +step s2-add-node-2: <... completed> +?column? + +1 +step s1-show-nodes: + SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; + +nodename nodeport isactive + +localhost 57637 t +localhost 57638 t +master_remove_node + + + + starting permutation: s1-begin s1-add-node-1 s2-add-node-1 s1-commit s1-show-nodes ?column? @@ -64,7 +99,40 @@ master_remove_node -starting permutation: s1-begin s1-add-node-1 s2-add-node-1 s1-commit s1-show-nodes +starting permutation: s1-begin s1-add-node-1 s2-add-node-2 s1-abort s1-show-nodes +?column? + +1 +step s1-begin: + BEGIN; + +step s1-add-node-1: + SELECT 1 FROM master_add_node('localhost', 57637); + +?column? + +1 +step s2-add-node-2: + SELECT 1 FROM master_add_node('localhost', 57638); + +step s1-abort: + ABORT; + +step s2-add-node-2: <... completed> +?column? + +1 +step s1-show-nodes: + SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; + +nodename nodeport isactive + +localhost 57638 t +master_remove_node + + + +starting permutation: s1-begin s1-add-node-1 s2-add-node-1 s1-abort s1-show-nodes ?column? 1 @@ -80,8 +148,8 @@ step s1-add-node-1: step s2-add-node-1: SELECT 1 FROM master_add_node('localhost', 57637); -step s1-commit: - COMMIT; +step s1-abort: + ABORT; step s2-add-node-1: <... completed> ?column? @@ -486,3 +554,81 @@ localhost 57637 f master_remove_node + +starting permutation: s1-add-inactive-1 s1-begin s1-activate-node-1 s2-disable-node-1 s1-abort s1-show-nodes +?column? + +1 +step s1-add-inactive-1: + SELECT 1 FROM master_add_inactive_node('localhost', 57637); + +?column? + +1 +step s1-begin: + BEGIN; + +step s1-activate-node-1: + SELECT 1 FROM master_activate_node('localhost', 57637); + +?column? + +1 +step s2-disable-node-1: + SELECT 1 FROM master_disable_node('localhost', 57637); + +step s1-abort: + ABORT; + +step s2-disable-node-1: <... completed> +?column? + +1 +step s1-show-nodes: + SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; + +nodename nodeport isactive + +localhost 57637 f +master_remove_node + + + +starting permutation: s1-add-node-1 s1-begin s1-disable-node-1 s2-disable-node-1 s1-abort s1-show-nodes +?column? + +1 +step s1-add-node-1: + SELECT 1 FROM master_add_node('localhost', 57637); + +?column? + +1 +step s1-begin: + BEGIN; + +step s1-disable-node-1: + SELECT 1 FROM master_disable_node('localhost', 57637); + +?column? + +1 +step s2-disable-node-1: + SELECT 1 FROM master_disable_node('localhost', 57637); + +step s1-abort: + ABORT; + +step s2-disable-node-1: <... completed> +?column? + +1 +step s1-show-nodes: + SELECT nodename, nodeport, isactive FROM pg_dist_node ORDER BY nodename, nodeport; + +nodename nodeport isactive + +localhost 57637 f +master_remove_node + + diff --git a/src/test/regress/expected/isolation_distributed_transaction_id.out b/src/test/regress/expected/isolation_distributed_transaction_id.out index 823b9b049..0c4c2584b 100644 --- a/src/test/regress/expected/isolation_distributed_transaction_id.out +++ b/src/test/regress/expected/isolation_distributed_transaction_id.out @@ -98,7 +98,7 @@ step s1-get-current-transaction-id: row -(0,189) +(0,279) step s2-get-first-worker-active-transactions: SELECT * FROM run_command_on_workers('SELECT row(initiator_node_identifier, transaction_number) FROM @@ -109,4 +109,4 @@ step s2-get-first-worker-active-transactions: nodename nodeport success result -localhost 57637 t (0,189) +localhost 57637 t (0,279) diff --git a/src/test/regress/specs/isolation_add_remove_node.spec b/src/test/regress/specs/isolation_add_remove_node.spec index a164cdb96..348553a08 100644 --- a/src/test/regress/specs/isolation_add_remove_node.spec +++ b/src/test/regress/specs/isolation_add_remove_node.spec @@ -50,6 +50,11 @@ step "s1-remove-node-2" SELECT * FROM master_remove_node('localhost', 57638); } +step "s1-abort" +{ + ABORT; +} + step "s1-commit" { COMMIT; @@ -105,9 +110,14 @@ step "s2-commit" # session 1 adds a node, session 2 removes it, should be ok permutation "s1-begin" "s1-add-node-1" "s2-remove-node-1" "s1-commit" "s1-show-nodes" # add a different node from 2 sessions, should be ok -permutation "s1-begin" "s1-add-node-1" "s2-add-node-1" "s1-commit" "s1-show-nodes" +permutation "s1-begin" "s1-add-node-1" "s2-add-node-2" "s1-commit" "s1-show-nodes" # add the same node from 2 sessions, should be ok (idempotent) permutation "s1-begin" "s1-add-node-1" "s2-add-node-1" "s1-commit" "s1-show-nodes" +# add a different node from 2 sessions, one aborts +permutation "s1-begin" "s1-add-node-1" "s2-add-node-2" "s1-abort" "s1-show-nodes" +# add the same node from 2 sessions, one aborts +permutation "s1-begin" "s1-add-node-1" "s2-add-node-1" "s1-abort" "s1-show-nodes" + # remove a different node from 2 transactions, should be ok permutation "s1-add-node-1" "s1-add-node-2" "s1-begin" "s1-remove-node-1" "s2-remove-node-2" "s1-commit" "s1-show-nodes" # remove the same node from 2 transactions, should be ok (idempotent) @@ -132,3 +142,8 @@ permutation "s1-add-node-1" "s1-begin" "s1-activate-node-1" "s2-disable-node-1" permutation "s1-add-inactive-1" "s1-begin" "s1-disable-node-1" "s2-activate-node-1" "s1-commit" "s1-show-nodes" # activate and disable an inactive node node from 2 transactions, should be ok permutation "s1-add-inactive-1" "s1-begin" "s1-activate-node-1" "s2-disable-node-1" "s1-commit" "s1-show-nodes" + +# activate and disable an inactive node from 2 transactions, one aborts +permutation "s1-add-inactive-1" "s1-begin" "s1-activate-node-1" "s2-disable-node-1" "s1-abort" "s1-show-nodes" +# disable an active node from 2 transactions, one aborts +permutation "s1-add-node-1" "s1-begin" "s1-disable-node-1" "s2-disable-node-1" "s1-abort" "s1-show-nodes"