pgsql: Fix amcheck for page checks concurrent to replay of btree page d

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix amcheck for page checks concurrent to replay of btree page d
Date: 2020-05-14 09:55:45
Message-ID: E1jZAaf-00027z-L7@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

amcheck expects at least hikey to always exist on leaf page even if it is
deleted page. But replica reinitializes page during replay of page deletion,
causing deleted page to have no items. Thus, replay of page deletion can
cause an error in concurrent amcheck run.

This commit relaxes amcheck expectation making it tolerate deleted page with
no items.

Reported-by: Konstantin Knizhnik
Discussion: https://postgr.es/m/CAPpHfdt_OTyQpXaPJcWzV2N-LNeNJseNB-K_A66qG%3DL518VTFw%40mail.gmail.com
Author: Alexander Korotkov
Reviewed-by: Peter Geoghegan
Backpatch-through: 11

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/b9a45d8dba4de6db14f03adf8f1a8ce51d43005b

Modified Files
--------------
contrib/amcheck/verify_nbtree.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Nikita Glukhov 2020-05-14 10:30:31 Re: pgsql: Show opclass and opfamily related information in psql
Previous Message Alexander Korotkov 2020-05-14 09:55:40 pgsql: Fix amcheck for page checks concurrent to replay of btree page d