Re: Concurrency bug in amcheck

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Alexander Korotkov <a.korotkov@postgrespro.ru>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-04-22T16:22:31Z
Lists: pgsql-hackers
On Tue, Apr 21, 2020 at 2:54 AM Alexander Korotkov
<a.korotkov@postgrespro.ru> wrote:
> Proposed fix is attached.  Spotted by Konstantin Knizhnik,
> reproduction case and fix from me.

I wonder if we should fix btree_xlog_unlink_page() instead of amcheck.
We already know that its failure to be totally consistent with the
primary causes problems for backwards scans -- this problem can be
fixed at the same time:

https://postgr.es/m/CANtu0ohkR-evAWbpzJu54V8eCOtqjJyYp3PQ_SGoBTRGXWhWRw@mail.gmail.com

We'd probably still use your patch for the backbranches if we went this way.

What do you think?

-- 
Peter Geoghegan



Commits

  1. Remove btree page items after page unlink

  2. Fix amcheck for page checks concurrent to replay of btree page deletion