Parsed test spec with 3 sessions starting permutation: vac1 grant2 vac3 mkrels3 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step vac1: VACUUM vactest.orig50; -- wait during inplace update step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac3: VACUUM pg_class; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row) starting permutation: begin2 grant2 vac1 c2 vac3 mkrels3 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step begin2: BEGIN; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac1: VACUUM vactest.orig50; -- wait during inplace update step c2: COMMIT; step vac3: VACUUM pg_class; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row) starting permutation: begin2 grant2 vac1 r2 vac3 mkrels3 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step begin2: BEGIN; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac1: VACUUM vactest.orig50; -- wait during inplace update step r2: ROLLBACK; step vac3: VACUUM pg_class; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row) starting permutation: begin2 grant2 vac1 c2 revoke2 grant2 vac3 mkrels3 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step begin2: BEGIN; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac1: VACUUM vactest.orig50; -- wait during inplace update step c2: COMMIT; step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac3: VACUUM pg_class; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row) starting permutation: vac1 begin2 grant2 revoke2 mkrels3 c2 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step vac1: VACUUM vactest.orig50; -- wait during inplace update step begin2: BEGIN; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step c2: COMMIT; step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row) starting permutation: begin2 grant2 vac1 r2 grant2 revoke2 vac3 mkrels3 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step begin2: BEGIN; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac1: VACUUM vactest.orig50; -- wait during inplace update step r2: ROLLBACK; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; step vac3: VACUUM pg_class; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row) starting permutation: begin2 grant2 vac1 c2 revoke2 vac3 mkrels3 read1 mkrels ------ (1 row) injection_points_attach ----------------------- (1 row) step begin2: BEGIN; step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; step vac1: VACUUM vactest.orig50; -- wait during inplace update step c2: COMMIT; step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; step vac3: VACUUM pg_class; step mkrels3: SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED SELECT injection_points_detach('inplace-before-pin'); SELECT injection_points_wakeup('inplace-before-pin'); mkrels ------ (1 row) injection_points_detach ----------------------- (1 row) injection_points_wakeup ----------------------- (1 row) step vac1: <... completed> step read1: REINDEX TABLE pg_class; -- look for duplicates SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; reltuples_unknown ----------------- f (1 row)