Re: [PATCH] Btree BackwardScan race condition on Standby duringVACUUM - Mailing list pgsql-hackers

From Andrey M. Borodin
Subject Re: [PATCH] Btree BackwardScan race condition on Standby duringVACUUM
Date
Msg-id 399CA39C-E0E0-47C7-A7CE-F13DE5DE16D2@yandex-team.ru
Whole thread Raw
In response to Re: [PATCH] Btree BackwardScan race condition on Standby during VACUUM  (Peter Geoghegan <pg@bowt.ie>)
Responses Re: [PATCH] Btree BackwardScan race condition on Standby during VACUUM  (Michail Nikolaev <michail.nikolaev@gmail.com>)
List pgsql-hackers

> 18 марта 2020 г., в 00:37, Peter Geoghegan <pg@bowt.ie> написал(а):
>
> 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.

The problem was that btree_xlog_split() and btree_xlog_unlink_page() do not couple locks during fixing left links.
Probably, patch in this thread should fix this in btree_xlog_split() too?

Best regards, Andrey Borodin.


pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: optimisation? collation "C" sorting for GroupAggregate for alldeterministic collations
Next
From: Floris Van Nee
Date:
Subject: RE: Index Skip Scan