Re: BUG #19519: REPACK can fail due to missing chunk for toast value

From: Alexander Lakhin <exclusion(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Imran Zaheer <imran(dot)zhir(at)gmail(dot)com>, Srinath Reddy Sadipiralla <srinath2133(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19519: REPACK can fail due to missing chunk for toast value
Date: 2026-07-06 18:00:01
Message-ID: 19788b24-cf4c-44fb-b6a7-5a73293cf83e@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Hello Michael,

06.07.2026 09:36, Michael Paquier wrote:
> Thoughts and comments from others are welcome for now. My day is
> almost out, at least I got all these scenarios working some tests.

Unfortunately, I still can produce that error running my repro script,
with higher concurrency:
for ((c=1;c<=50;c++)); do createdb db$c; done

for ((i=1;i<=100;i++)); do
echo "iteration $i"
  for ((c=1;c<=50;c++)); do
echo "\\d sometable" | psql -d db$c >psql-1-$c.log 2>&1 &
echo "DROP TABLE IF EXISTS tbl;
CREATE TABLE tbl (i int, t text);
ALTER TABLE tbl ALTER COLUMN t SET STORAGE EXTERNAL;
INSERT INTO tbl(i, t) VALUES (1, repeat('1234567890', 250));
DELETE FROM tbl;

VACUUM (TRUNCATE, VERBOSE) tbl;
VACUUM FULL tbl;
" | psql -d db$c >psql-$c.log 2>&1 &
  done
wait
grep 'missing chunk number' server.log  && break;
done

...
iteration 45
iteration 46
iteration 47
2026-07-06 17:38:19.952 UTC|law|db22|6a4be80b.3ab9a8|ERROR:  missing chunk number 0 for toast value 41866 in pg_toast_41849

I had failures on iterations 47, 58, 79.

(Konstantin's patch doesn't help either.)

Best regards,
Alexander

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Matthias van de Meent 2026-07-06 18:21:41 Re: BUG #19519: REPACK can fail due to missing chunk for toast value
Previous Message Robert Haas 2026-07-06 17:22:48 Re: BUG #18876: HINT messages for mxid wrap-around say "drop stale slots", but that may not be appropriate