pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alexander Lakhin <exclusion@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>
Cc: Zhijie Hou (Fujitsu) <houzj.fnst@fujitsu.com>
Cc: Thom Brown <thom@linux.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Antonin Houska <ah@cybertec.at>
Subject: Re: REPACK (CONCURRENTLY) can crash a logical decoding session
Date: Tue, 29 Sep 2026 23:00:00 +0300
Message-ID: <d704cde4-b1f2-48dc-8c5e-659d1128d286@gmail.com> (raw)
In-Reply-To: <CAD21AoBKZi3f5p3FYWehDQcWOoBszyedHgbXZMp-3F1h=K9hPQ@mail.gmail.com>
References: <CAD21AoC8tp3Dq3Bq3T7_0C0dNWRBSbADQez7kMp1gdcazB+neQ@mail.gmail.com>
	<aqPtaPNZdskc83gS@alvherre.pgsql>
	<CAD21AoBKZi3f5p3FYWehDQcWOoBszyedHgbXZMp-3F1h=K9hPQ@mail.gmail.com>

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

view thread (12+ messages)  latest in thread

Message-ID: <d704cde4-b1f2-48dc-8c5e-659d1128d286@gmail.com>
Permalink:  ../d704cde4-b1f2-48dc-8c5e-659d1128d286@gmail.com/
Also on:    postgresql.org/message-id/d704cde4-b1f2-48dc-8c5e-659d1128d286@gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: exclusion@gmail.com, sawada.mshk@gmail.com, alvherre@kurilemu.de, houzj.fnst@fujitsu.com, thom@linux.com, pgsql-hackers@lists.postgresql.org, ah@cybertec.at
  Subject: Re: REPACK (CONCURRENTLY) can crash a logical decoding session
  In-Reply-To: <d704cde4-b1f2-48dc-8c5e-659d1128d286@gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox