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);

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 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);

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 dist_table VALUES (1, 1)');
 <waiting ...>
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');

run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------

(1 row)

step s1-stop-connection:
 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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 1|   10
 2|   20
(2 rows)

id|value
---------------------------------------------------------------------
 1|    1
 1|    1
 2|    2
(3 rows)


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);

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 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);

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 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');

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();

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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 2|   20
(1 row)

id|value
---------------------------------------------------------------------
 2|    2
(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);

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 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);

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 dist_table SELECT * FROM dist_table');
 <waiting ...>
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');

run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------

(1 row)

step s1-stop-connection:
 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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 1|   10
 2|   20
(2 rows)

id|value
---------------------------------------------------------------------
 1|    1
 1|    1
 2|    2
 2|    2
(4 rows)


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);

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 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);

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 dist_table SET value=2 WHERE id=1');
 <waiting ...>
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');

run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------

(1 row)

step s1-stop-connection:
 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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 2|   20
 3|   10
(2 rows)

id|value
---------------------------------------------------------------------
 1|    2
 2|    2
(2 rows)


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);

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 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);

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 1, 1''WITH CSV');
 <waiting ...>
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');

run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------

(1 row)

step s1-stop-connection:
 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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 1|   10
 2|   20
(2 rows)

id|value
---------------------------------------------------------------------
 1|    1
 1|    1
 2|    2
(3 rows)


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);

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 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);

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 dist_table');
 <waiting ...>
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();

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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 2|   20
 3|   10
(2 rows)

id|value
---------------------------------------------------------------------
(0 rows)


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);

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 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);

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-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');

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');

run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------

(1 row)

step s1-stop-connection:
 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-display:
 SELECT * FROM ref_table ORDER BY id, value;
 SELECT * FROM dist_table ORDER BY id, value;

id|value
---------------------------------------------------------------------
 2|   20
(1 row)

id|value
---------------------------------------------------------------------
 2|    2
(1 row)


starting permutation: s1-start-session-level-connection s1-begin-on-worker s1-update s2-coordinator-create-index-concurrently s1-commit-worker s2-empty s1-stop-connection s3-display
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 ref_table SET id=id+2 WHERE id=1');

run_commands_on_session_level_connection_to_node
---------------------------------------------------------------------

(1 row)

step s2-coordinator-create-index-concurrently:
 CREATE INDEX CONCURRENTLY dist_table_index ON dist_table(id);
 <waiting ...>
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-create-index-concurrently: <... completed>
step s2-empty:
step s1-stop-connection:
 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;

id|value
---------------------------------------------------------------------
 2|   20
 3|   10
(2 rows)

id|value
---------------------------------------------------------------------
 1|    3
 2|    2
(2 rows)

