Re: BUG #17268: Possible corruption in toast index after reindex index concurrently
Maxim Boguk <maxim.boguk@gmail.com>
From: Maxim Boguk <maxim.boguk@gmail.com>
To: Andres Freund <andres@anarazel.de>
Cc: PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>,
Peter Geoghegan <pg@bowt.ie>, Alexey Ermakov <alexey.ermakov@dataegret.com>,
Michael Paquier <michael@paquier.xyz>
Date: 2021-11-07T20:29:42Z
Lists: pgsql-bugs
On Sun, Nov 7, 2021 at 2:07 AM Andres Freund <andres@anarazel.de> wrote: > > Hi, > > On November 4, 2021 1:01:44 PM PDT, Maxim Boguk <maxim.boguk@gmail.com> wrote: > >UPDATE: the problem base table entry which had erroneous toast data > >definitely had been created during the REINDEX run of toast idx. > > Do you have any details about the transaction / application that inserted the data? Well... jdbc with server side prepared statements off (pgbouncer). > >2021-11-02 13:15:45.469 UTC 2379 postgres@*** from [local] [vxid:24/0 > >txid:0] [REINDEX] LOG: duration: 1719120.441 ms statement: REINDEX > >INDEX CONCURRENTLY pg_toast.pg_toast_2624976286_index > >and the problem entry had been created at 2021-11-02 13:04:22.192125 UTC. > > > >So there seems some subtle bug with indexing new toast data during > >REINDEX INDEX CONCURRENTLY of the toast index. > > Any chance you're using prepared transactions? Most definitely no, prepared TS are disabled server-wide. postgres=# show max_prepared_transactions ; max_prepared_transactions --------------------------- 0 -- Maxim Boguk Senior Postgresql DBA https://dataegret.com/ Phone RU: +7 985 433 0000 Phone UA: +380 99 143 0000 Phone AU: +61 45 218 5678 LinkedIn: http://www.linkedin.com/pub/maksym-boguk/80/b99/b1b Skype: maxim.boguk "Доктор, вы мне советовали так не делать, но почему мне по-прежнему больно когда я так делаю ещё раз?"
Commits
-
Fix corruption of toast indexes with REINDEX CONCURRENTLY
- 5ed74d874f49 12.10 landed
- 9acea52ea3d4 13.6 landed
- 64ab21f0e5de 14.2 landed
- f99870dd8673 15.0 landed