Fix amcheck for page checks concurrent to replay of btree page deletion
authorAlexander Korotkov
Wed, 6 May 2020 12:35:27 +0000 (15:35 +0300)
committerAlexander Korotkov
Thu, 14 May 2020 09:46:15 +0000 (12:46 +0300)
commitb9a45d8dba4de6db14f03adf8f1a8ce51d43005b
tree0ab061ef0b20562e23ebec5031622003c5ca49bb
parent1fbfc3d8a59a570db1e13e8a54b0774e7255ced0
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
contrib/amcheck/verify_nbtree.c