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") 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'); GRANT ALL ON test_table TO test_user_2; SELECT bool_and(success) FROM run_command_on_placements('test_table', 'GRANT ALL ON TABLE %s TO test_user_2'); bool_and t bool_and t step s1-begin-insert: BEGIN; SET ROLE test_user_1; INSERT INTO test_table VALUES (100, 100); step s2-begin-insert: BEGIN; SET ROLE test_user_2; INSERT INTO test_table VALUES (200, 200); step s3-as-admin: -- Admin should be able to see all transactions SELECT count(*) FROM get_all_active_transactions(); SELECT count(*) FROM get_global_active_transactions(); count 2 count 4 step s3-as-user-1: -- User should only be able to see its own transactions SET ROLE test_user_1; SELECT count(*) FROM get_all_active_transactions(); SELECT count(*) FROM get_global_active_transactions(); count 1 count 2 step s3-as-readonly: -- Other user should not see transactions SET ROLE test_readonly; SELECT count(*) FROM get_all_active_transactions(); SELECT count(*) FROM get_global_active_transactions(); count 0 count 0 step s3-as-monitor: -- Monitor should see all transactions SET ROLE test_monitor; SELECT count(*) FROM get_all_active_transactions(); SELECT count(*) FROM get_global_active_transactions(); count 2 count 4 step s1-commit: COMMIT; 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")