diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/injection_points/expected/basic.out C:/cirrus/build/testrun/injection_points/isolation/results/basic.out --- C:/cirrus/src/test/modules/injection_points/expected/basic.out 2025-02-28 21:08:19.960697200 +0000 +++ C:/cirrus/build/testrun/injection_points/isolation/results/basic.out 2025-02-28 21:14:34.058633400 +0000 @@ -1,75 +1,6 @@ Parsed test spec with 2 sessions starting permutation: wait1 wakeup2 noop1 detach2 -injection_points_attach ------------------------ - -(1 row) - -step wait1: SELECT injection_points_run('injection-points-wait'); -step wakeup2: SELECT injection_points_wakeup('injection-points-wait'); -injection_points_wakeup ------------------------ - -(1 row) - -step wait1: <... completed> -injection_points_run --------------------- - -(1 row) - -step noop1: -step detach2: SELECT injection_points_detach('injection-points-wait'); -injection_points_detach ------------------------ - -(1 row) - - -starting permutation: wait1 detach2 wakeup2 -injection_points_attach ------------------------ - -(1 row) - -step wait1: SELECT injection_points_run('injection-points-wait'); -step detach2: SELECT injection_points_detach('injection-points-wait'); -injection_points_detach ------------------------ - -(1 row) - -step wakeup2: SELECT injection_points_wakeup('injection-points-wait'); -injection_points_wakeup ------------------------ - -(1 row) - -step wait1: <... completed> -injection_points_run --------------------- - -(1 row) - - -starting permutation: detach2 wait1 wakeup2 -injection_points_attach ------------------------ - -(1 row) - -step detach2: SELECT injection_points_detach('injection-points-wait'); -injection_points_detach ------------------------ - -(1 row) - -step wait1: SELECT injection_points_run('injection-points-wait'); -injection_points_run --------------------- - -(1 row) - -step wakeup2: SELECT injection_points_wakeup('injection-points-wait'); -ERROR: could not find injection point injection-points-wait to wake up +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/injection_points/expected/inplace.out C:/cirrus/build/testrun/injection_points/isolation/results/inplace.out --- C:/cirrus/src/test/modules/injection_points/expected/inplace.out 2025-02-28 21:08:19.962648900 +0000 +++ C:/cirrus/build/testrun/injection_points/isolation/results/inplace.out 2025-02-28 21:14:34.210541100 +0000 @@ -1,340 +1,3 @@ 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) - +Connection 0 failed: connection to server on socket "c:/cirrus//.s.PGSQL.40058" failed: FATAL: the database system is not yet accepting connections +DETAIL: Consistent recovery state has not been yet reached. diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/injection_points/expected/repack.out C:/cirrus/build/testrun/injection_points/isolation/results/repack.out --- C:/cirrus/src/test/modules/injection_points/expected/repack.out 2025-02-28 21:08:19.962648900 +0000 +++ C:/cirrus/build/testrun/injection_points/isolation/results/repack.out 2025-02-28 21:14:35.786767500 +0000 @@ -1,185 +1,6 @@ Parsed test spec with 4 sessions starting permutation: wait_before_lock change_existing change_new change_subxact1 change_subxact2 check2 wakeup_before_lock check1 -injection_points_attach ------------------------ - -(1 row) - -step wait_before_lock: - REPACK CONCURRENTLY repack_test USING INDEX repack_test_pkey; - -step change_existing: - UPDATE repack_test SET i=10 where i=1; - UPDATE repack_test SET j=20 where i=2; - UPDATE repack_test SET i=30 where i=3; - UPDATE repack_test SET i=40 where i=30; - DELETE FROM repack_test WHERE i=4; - -step change_new: - INSERT INTO repack_test(i, j) VALUES (5, 5), (6, 6), (7, 7), (8, 8); - UPDATE repack_test SET i=50 where i=5; - UPDATE repack_test SET j=60 where i=6; - DELETE FROM repack_test WHERE i=7; - -step change_subxact1: - BEGIN; - INSERT INTO repack_test(i, j) VALUES (100, 100); - SAVEPOINT s1; - UPDATE repack_test SET i=101 where i=100; - SAVEPOINT s2; - UPDATE repack_test SET i=102 where i=101; - COMMIT; - -step change_subxact2: - BEGIN; - SAVEPOINT s1; - INSERT INTO repack_test(i, j) VALUES (110, 110); - ROLLBACK TO SAVEPOINT s1; - INSERT INTO repack_test(i, j) VALUES (110, 111); - COMMIT; - -step check2: - INSERT INTO relfilenodes(node) - SELECT relfilenode FROM pg_class WHERE relname='repack_test'; - - SELECT i, j FROM repack_test ORDER BY i, j; - - INSERT INTO data_s2(_xmin, _cmin, i, j) - SELECT xmin, cmin, i, j FROM repack_test; - - i| j ----+--- - 2| 20 - 6| 60 - 8| 8 - 10| 1 - 40| 3 - 50| 5 -102|100 -110|111 -(8 rows) - -step wakeup_before_lock: - SELECT injection_points_wakeup('repack-concurrently-before-lock'); - -injection_points_wakeup ------------------------ - -(1 row) - -step wait_before_lock: <... completed> -step check1: - INSERT INTO relfilenodes(node) - SELECT relfilenode FROM pg_class WHERE relname='repack_test'; - - SELECT count(DISTINCT node) FROM relfilenodes; - - SELECT i, j FROM repack_test ORDER BY i, j; - - INSERT INTO data_s1(_xmin, _cmin, i, j) - SELECT xmin, cmin, i, j FROM repack_test; - - SELECT count(*) - FROM data_s1 d1 FULL JOIN data_s2 d2 USING (_xmin, _cmin, i, j) - WHERE d1.i ISNULL OR d2.i ISNULL; - -count ------ - 2 -(1 row) - - i| j ----+--- - 2| 20 - 6| 60 - 8| 8 - 10| 1 - 40| 3 - 50| 5 -102|100 -110|111 -(8 rows) - -count ------ - 0 -(1 row) - -injection_points_detach ------------------------ - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - - -starting permutation: wait_after_lock wakeup_after_lock -injection_points_attach ------------------------ - -(1 row) - -step wait_after_lock: - REPACK CONCURRENTLY repack_test USING INDEX repack_test_pkey; - -step wakeup_after_lock: - SELECT injection_points_wakeup('repack-concurrently-after-lock'); - -injection_points_wakeup ------------------------ - -(1 row) - -step wait_after_lock: <... completed> -injection_points_detach ------------------------ - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - - -starting permutation: wait_after_lock after_lock_delay wakeup_after_lock -injection_points_attach ------------------------ - -(1 row) - -step wait_after_lock: - REPACK CONCURRENTLY repack_test USING INDEX repack_test_pkey; - -step after_lock_delay: - SELECT pg_sleep(1.5); - -pg_sleep --------- - -(1 row) - -step wakeup_after_lock: - SELECT injection_points_wakeup('repack-concurrently-after-lock'); - -injection_points_wakeup ------------------------ - -(1 row) - -step wait_after_lock: <... completed> -ERROR: could not process concurrent data changes in time -injection_points_detach ------------------------ - -(1 row) - -injection_points_detach ------------------------ - -(1 row) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. diff --strip-trailing-cr -U3 C:/cirrus/src/test/modules/injection_points/expected/syscache-update-pruned_1.out C:/cirrus/build/testrun/injection_points/isolation/results/syscache-update-pruned.out --- C:/cirrus/src/test/modules/injection_points/expected/syscache-update-pruned_1.out 2025-02-28 21:08:19.962648900 +0000 +++ C:/cirrus/build/testrun/injection_points/isolation/results/syscache-update-pruned.out 2025-02-28 21:14:37.455660600 +0000 @@ -1,86 +1,6 @@ Parsed test spec with 4 sessions starting permutation: cachefill1 at2 waitprunable4 vac4 grant1 wakeinval4 wakegrant4 -step cachefill1: SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); -step at2: - CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50 - FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); - -step waitprunable4: CALL vactest.wait_prunable(); -step vac4: VACUUM pg_class; -step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; -step wakeinval4: - SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo'); - SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo'); - -step at2: <... completed> -step wakeinval4: <... completed> -step wakegrant4: - SELECT FROM injection_points_detach('heap_update-before-pin'); - SELECT FROM injection_points_wakeup('heap_update-before-pin'); - -step grant1: <... completed> -step wakegrant4: <... completed> - -starting permutation: cachefill1 at2 waitprunable4 vac4 grant1 wakeinval4 mkrels4 wakegrant4 -step cachefill1: SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); -step at2: - CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50 - FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); - -step waitprunable4: CALL vactest.wait_prunable(); -step vac4: VACUUM pg_class; -step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; -step wakeinval4: - SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo'); - SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo'); - -step at2: <... completed> -step wakeinval4: <... completed> -step mkrels4: - SELECT FROM vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - -step wakegrant4: - SELECT FROM injection_points_detach('heap_update-before-pin'); - SELECT FROM injection_points_wakeup('heap_update-before-pin'); - -step grant1: <... completed> -step wakegrant4: <... completed> - -starting permutation: snap3 cachefill1 at2 mkrels4 r3 waitprunable4 vac4 grant1 wakeinval4 at4 wakegrant4 inspect4 -step snap3: BEGIN ISOLATION LEVEL REPEATABLE READ; SELECT; -step cachefill1: SELECT FROM vactest.reloid_catcache_set('vactest.orig50'); -step at2: - CREATE TRIGGER to_set_relhastriggers BEFORE UPDATE ON vactest.orig50 - FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger(); - -step mkrels4: - SELECT FROM vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED - -step r3: ROLLBACK; -step waitprunable4: CALL vactest.wait_prunable(); -step vac4: VACUUM pg_class; -step grant1: GRANT SELECT ON vactest.orig50 TO PUBLIC; -step wakeinval4: - SELECT FROM injection_points_detach('AtEOXact_Inval-with-transInvalInfo'); - SELECT FROM injection_points_wakeup('AtEOXact_Inval-with-transInvalInfo'); - -step at2: <... completed> -step wakeinval4: <... completed> -step at4: ALTER TABLE vactest.child50 INHERIT vactest.orig50; -step wakegrant4: - SELECT FROM injection_points_detach('heap_update-before-pin'); - SELECT FROM injection_points_wakeup('heap_update-before-pin'); - -step grant1: <... completed> -ERROR: tuple concurrently updated -step wakegrant4: <... completed> -step inspect4: - SELECT relhastriggers, relhassubclass FROM pg_class - WHERE oid = 'vactest.orig50'::regclass; - -relhastriggers|relhassubclass ---------------+-------------- -t |t -(1 row) - +setup failed: server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request.