Re: [PATCH] Btree BackwardScan race condition on Standby during VACUUM
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: Michail Nikolaev <michail.nikolaev@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2020-03-17T19:37:57Z
Lists: pgsql-hackers
On Mon, Mar 16, 2020 at 10:20 PM Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > It seems to me that it's exactly the same check that I was trying to verify in amcheck patch [0]. > But there it was verified inside amcheck, but here it is verified by index scan. Maybe we can accept your patch after fixing this bug. My objection to the patch was that it couples locks in a way that's not compatible with btree_xlog_unlink_page(). But the problem now seems to have been btree_xlog_unlink_page() itself. It's possible that there are problems elsewhere, but my recollection is that btree_xlog_unlink_page() was the problem. -- Peter Geoghegan
Commits
-
Fix replica backward scan race condition.
- 9a9db08ae462 14.0 landed
-
Justify nbtree page split locking in code comment.
- 9945ad6e9040 13.0 cited
-
Remove unneeded "pin scan" nbtree VACUUM code.
- 9f83468b3536 13.0 cited
-
Compute XID horizon for page level index vacuum on primary.
- 558a9165e081 12.0 cited
-
Make heap TID a tiebreaker nbtree index column.
- dd299df8189b 12.0 cited