Parsed test spec with 3 sessions starting permutation: s1-begin s1-assign-transaction-id s1-get-all-transactions s2-begin s2-assign-transaction-id s2-get-all-transactions s3-begin s3-assign-transaction-id s3-get-all-transactions s1-commit s2-commit s3-commit step s1-begin: BEGIN; step s1-assign-transaction-id: SELECT assign_distributed_transaction_id(1, 1, '2015-01-01 00:00:00+0'); assign_distributed_transaction_id step s1-get-all-transactions: SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3; initiator_node_identifiertransaction_numbertransaction_stamp 1 1 Wed Dec 31 16:00:00 2014 PST step s2-begin: BEGIN; step s2-assign-transaction-id: SELECT assign_distributed_transaction_id(2, 2, '2015-01-02 00:00:00+0'); assign_distributed_transaction_id step s2-get-all-transactions: SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3; initiator_node_identifiertransaction_numbertransaction_stamp 2 2 Thu Jan 01 16:00:00 2015 PST step s3-begin: BEGIN; step s3-assign-transaction-id: SELECT assign_distributed_transaction_id(3, 3, '2015-01-03 00:00:00+0'); assign_distributed_transaction_id step s3-get-all-transactions: SELECT initiator_node_identifier, transaction_number, transaction_stamp FROM get_current_transaction_id() ORDER BY 1,2,3; initiator_node_identifiertransaction_numbertransaction_stamp 3 3 Fri Jan 02 16:00:00 2015 PST step s1-commit: COMMIT; step s2-commit: COMMIT; step s3-commit: 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'); create_distributed_table step s1-begin: BEGIN; step s1-insert: 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) FROM get_all_active_transactions(); $$) as remote ORDER BY remote.nodeport ASC; nodeport xact_exists 57637 t 57638 t step s1-commit: COMMIT; starting permutation: s1-begin s1-assign-transaction-id s1-has-transaction-number s2-vacuum s1-has-transaction-number s1-commit step s1-begin: BEGIN; step s1-assign-transaction-id: SELECT assign_distributed_transaction_id(1, 1, '2015-01-01 00:00:00+0'); assign_distributed_transaction_id step s1-has-transaction-number: SELECT transaction_number > 0 FROM get_current_transaction_id(); ?column? t step s2-vacuum: VACUUM FULL pg_dist_partition; step s1-has-transaction-number: SELECT transaction_number > 0 FROM get_current_transaction_id(); ?column? t step s1-commit: COMMIT;