Re: REPACK (CONCURRENTLY) can crash a logical decoding session

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Álvaro Herrera <alvherre(at)kurilemu(dot)de>
Cc: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, Thom Brown <thom(at)linux(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Antonin Houska <ah(at)cybertec(dot)at>
Subject: Re: REPACK (CONCURRENTLY) can crash a logical decoding session
Date: 2026-09-29 20:00:00
Message-ID: d704cde4-b1f2-48dc-8c5e-659d1128d286@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

I can reproduce such failures locally with:
--- a/src/test/modules/injection_points/Makefile
+++ b/src/test/modules/injection_points/Makefile
@@ -21,3 +21,3 @@ ISOLATION = basic \
            repack_commit_race \
-           repack_decode \
+           $(shell printf 'repack_decode %.0s' `seq 100`) \
            repack_missingval \

and
echo "autovacuum_naptime = 1" >/tmp/temp.config
TEMP_CONFIG=/tmp/temp.config make -s check -C src/test/modules/injection_points/
...
ok 9         - repack_decode                             272 ms
# diff -U3 .../src/test/modules/injection_points/expected/repack_decode.out
.../src/test/modules/injection_points/output_iso/results/repack_decode.out
# --- .../src/test/modules/injection_points/expected/repack_decode.out 2026-09-29 14:51:55.810851901 -0400
# +++ .../src/test/modules/injection_points/output_iso/results/repack_decode.out 2026-09-29 15:09:00.871263055 -0400
# @@ -26,7 +26,7 @@
#
#  count
#  -----
# -    8
# +   12
#  (1 row)
#
#  injection_points_detach
not ok 10    - repack_decode                             302 ms
...
# 26 of 115 tests failed.

[1] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=skink&dt=2026-09-29%2014%3A01%3A15

Best regards,
Alexander

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Zsolt Parragi 2026-09-29 20:23:44 Re: Logical Implication
Previous Message Alexandre Felipe 2026-09-29 19:10:11 Re: BUG #19686: Rolling back SET TABLESPACE