Re: BUG #17386: btree index corruption after reindex concurrently on write heavy table

Maxim Boguk <maxim.boguk@gmail.com>

From: Maxim Boguk <maxim.boguk@gmail.com>
To: Noah Misch <noah@leadboat.com>
Cc: Michael Paquier <michael@paquier.xyz>, Peter Geoghegan <pg@bowt.ie>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2022-02-02T09:24:42Z
Lists: pgsql-bugs
On Sun, Jan 30, 2022 at 5:43 AM Noah Misch <noah@leadboat.com> wrote:

> On Sat, Jan 29, 2022 at 05:23:49PM +0200, Maxim Boguk wrote:
> > On Sat, Jan 29, 2022 at 7:43 AM Michael Paquier <michael@paquier.xyz>
> wrote:
> > > On Fri, Jan 28, 2022 at 07:00:31PM -0800, Peter Geoghegan wrote:
> > > > If I had to guess, then I'd guess that this has something to do with
> > > > orphaned HOT chains, like those we saw in the bug report that led to
> > > > bugfix commit 18b87b20 (which is in 14.2 but not 14.1). I could
> easily
> > > > be wrong about that, so take it with a grain of salt. I find it a
> > > > little suspicious that we're hearing about a REINDEX CONCURRENTLY
> > > > problem in Postgres 14, which is much less mature than Postgres 12
> > > > (where REINDEX CONCURRENTLY first appeared).
> > >
> > > Possible, but hard to say without an actual proof.  Maxim, if the
> > > problem is reproducible easily on your end, could you give a try to v12
> > > and v13 and see if it happens as well there?
> >
> > I don't remember such problems during the last year on v13 with the same
> > workload and the same periodic reindex.
>
> Got it.  A low-effort strategy would be to wait for v14.2 to release on
> 2022-02-10.  If the problem started with a v13.X -> v14.1 upgrade and
> ceases
> in v14.2, then commit 18b87b20 likely was the fix.
>

Ok, I'll wait for the 14.2 release and provide an update about this issue.


-- 
Maxim Boguk
Senior Postgresql DBA
https://dataegret.com/

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix possible HOT corruption when RECENTLY_DEAD changes to DEAD while pruning.