Re: Adding REPACK [concurrently]

From: Mihail Nikalayeu <mihailnikalayeu(at)gmail(dot)com>
To: Antonin Houska <ah(at)cybertec(dot)at>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Robert Treat <rob(at)xzilla(dot)net>
Subject: Re: Adding REPACK [concurrently]
Date: 2026-01-12 18:54:56
Message-ID: CADzfLwU78as45To9a=-Qkr5jEg3tMxc5rUtdKy2MTv4r_SDGng@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Also, there are some crashes of stress tests for v30 (for both single
snapshot and multiple snapshot versions).

---------------------

Looks like something is leaking, but not sure.

https://cirrus-ci.com/task/5577209672368128?logs=test_world#L277 (multiple
snapshots)
https://cirrus-ci.com/task/6439044873191424 (without multiple snapshots)

[17:49:07.251] # Failed test 'concurrent operations with REINDEX/CREATE
INDEX CONCURRENTLY stderr /(?^:^$)/'
[17:49:07.251] # at /tmp/cirrus-ci-build/contrib/amcheck/t/
007_repack_concurrently.pl line 56.
[17:49:07.251] # 'pgbench: error: client 0 script 0
aborted in command 6 query 0: ERROR: out of background worker slots
[17:49:07.251] # HINT: You might need to increase "max_worker_processes".
[17:49:07.251] # pgbench: error: Run was aborted due to an error in thread 0

-------------------

This one showed something goes wrong, the sum of the table is broken. It
may be 0 because non-MVCC safe, but I checked the logs:

2026-01-12 18:41:11.656 UTC client backend[76247] 007_repack_concurrently.pl
LOG: statement: SELECT (490588) / 0;

And also

backend[54349] 007_repack_concurrently.pl ERROR: could not create unique
index "tbl_pkey_repacknew"
2026-01-12 18:41:12.477 UTC client backend[54349] 007_repack_concurrently.pl
DETAIL: Key (i)=(942) is duplicated.
2026-01-12 18:41:12.477 UTC client backend[54349] 007_repack_concurrently.pl
STATEMENT: REPACK (CONCURRENTLY) tbl;

https://cirrus-ci.com/task/4521496594350080 (single snapshot version)
https://cirrus-ci.com/task/6157569896480768 (single snapshot version)

[18:36:17.466] # at /Users/admin/pgsql/contrib/amcheck/t/
007_repack_concurrently.pl line 56.
[18:36:17.466] # 'pgbench: error: client 21 script 0
aborted in command 31 query 0: ERROR: division by zero
[18:36:17.466] # pgbench: error: Run was aborted due to an error in thread 2

---------------------

https://cirrus-ci.com/task/5682762788634624 (multiple snapshots)

Failed test 'concurrent operations with REINDEX/CREATE INDEX CONCURRENTLY
stderr /(?^:^$)/'
[18:02:06.938] # at t/007_repack_concurrently.pl line 56.
[18:02:06.938] # 'pgbench: error: client 6 aborted in
command 4 (SQL) of script 0; perhaps the backend died while processing
[18:02:06.938] # pgbench: error: Run was aborted due to an error in thread 0
[18:02:06.938] # WARNING: terminating connection because of crash of
another server process

Best regards,
Mikhail.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2026-01-12 20:24:43 Re: [PATCH} Move instrumentation structs
Previous Message Jeff Davis 2026-01-12 18:22:20 Use CASEFOLD() internally rather than LOWER()