On 1/16/20 7:40 PM, Peter Geoghegan wrote:
> On Thu, Jan 9, 2020 at 12:55 AM godjan • <g0dj4n@gmail.com> wrote:
>
>> I heard that amcheck has an invariant about locking no more than 1 page at a moment for avoiding deadlocks. Is there
possiblea deadlock situation?
>
> This is a conservative principle that I came up with when I wrote the
> original version of amcheck. It's not strictly necessary, but it
> seemed like a good idea. It should be safe to "couple" buffer locks in
> a way that matches the B-Tree code -- as long as it is thought through
> very carefully. I am probably going to relax the rule for one specific
> case soon -- see:
>
> https://postgr.es/m/F7527087-6E95-4077-B964-D2CAFEF6224B@yandex-team.ru
>
> Your patch looks like it gets it right (it won't deadlock with other
> sessions that access the metapage), but I hesitate to commit it
> without a strong justification. Acquiring multiple buffer locks
> concurrently is worth avoiding wherever possible.
I have marked this patch Returned with Feedback since it has been
sitting for a while with no response from the author.
Regards,
--
-David
david@pgmasters.net