On Tue, Sep 29, 2026 at 1:00 PM Alexander Lakhin <[email protected]> wrote:
>
> Hello Sawada-san,
>
> 11.09.2026 20:56, Masahiko Sawada wrote:
>
> No objections here -- they look good to me too.  The isolation spec
> addition is great, thanks.
>
> Thank you for looking at the patches! Pushed.
>
>
> A recent failure of repack_decode.spec emitted by skink [1]:
> # diff -U3 
> /home/bf/bf-build/skink-master/HEAD/pgsql/src/test/modules/injection_points/expected/repack_decode.out
>  
> /home/bf/bf-build/skink-master/HEAD/pgsql.build/testrun/injection_points/isolation/results/repack_decode.out
> # --- 
> /home/bf/bf-build/skink-master/HEAD/pgsql/src/test/modules/injection_points/expected/repack_decode.out
>     2026-09-25 23:32:42.088355239 +0200
> # +++ 
> /home/bf/bf-build/skink-master/HEAD/pgsql.build/testrun/injection_points/isolation/results/repack_decode.out
>     2026-09-29 18:01:56.818281263 +0200
> # @@ -26,7 +26,7 @@
> #
> #  count
> #  -----
> # -    8
> # +   12
> #  (1 row)
> #
> #  injection_points_detach
> # 1 of 16 tests failed.
>
> apparently shows that the test is not immune to autovacuum.

Thank you for the report. My bad.

I've attached the patch that should fix the issue.

Regards,

-- 
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com
From 766eeddb293079e574c461632d50262ca9e01d06 Mon Sep 17 00:00:00 2001
From: Masahiko Sawada <[email protected]>
Date: Wed, 30 Sep 2026 10:12:24 -0700
Subject: [PATCH v1] Stabilize repack_decode.spec regression tests.

Commit 7164dcb66532 added the isolation test for
REPACK (CONCURRENTLY), but it wasn't immune to autovacuum activity.

Specify test_decoding options to skip decoding empty transactions to
stabilize it.

Per buildfarm animal skink.

Reported-by: Alexander Lakhin <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 19
---
 src/test/modules/injection_points/specs/repack_decode.spec | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/test/modules/injection_points/specs/repack_decode.spec b/src/test/modules/injection_points/specs/repack_decode.spec
index c3efd9987b3..04f0df83a0a 100644
--- a/src/test/modules/injection_points/specs/repack_decode.spec
+++ b/src/test/modules/injection_points/specs/repack_decode.spec
@@ -40,13 +40,15 @@ step s1_wait_before_lock
 }
 step s1_decode
 {
-	SELECT count(*) FROM pg_logical_slot_peek_changes('s', NULL, NULL, 'include-rewrites', '1');
+	SELECT count(*) FROM pg_logical_slot_peek_changes('s', NULL, NULL, 'include-rewrites', '1',
+							  'skip-empty-xacts', '1', 'include-xids', '0');
 }
 # Show the decoded updates.  The row loaded by setup carries a random TOAST
 # value, so only the updates are stable enough to display.
 step s1_decode_updates
 {
-	SELECT data FROM pg_logical_slot_peek_changes('s', NULL, NULL, 'include-rewrites', '1')
+	SELECT data FROM pg_logical_slot_peek_changes('s', NULL, NULL, 'include-rewrites', '1',
+						     'skip-empty-xacts', '1', 'include-xids', '0')
 	WHERE data LIKE '%UPDATE%';
 }
 teardown
-- 
2.55.0

Reply via email to