Re: Connections hang indefinitely while taking a gin index's LWLock buffer_content lock

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Cc: Peter Geoghegan <pg(at)bowt(dot)ie>, Andres Freund <andres(at)anarazel(dot)de>, chenhj <chjischj(at)163(dot)com>, Teodor Sigaev <teodor(at)sigaev(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Connections hang indefinitely while taking a gin index's LWLock buffer_content lock
Date: 2018-12-10 22:43:42
Message-ID: CAPpHfdvnM9ovN09Q1qW36X_R4w4muaYgRSeL2indZOEn6UMFng@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Dec 10, 2018 at 4:58 PM Andrey Borodin <x4mmm(at)yandex-team(dot)ru> wrote:
> > 10 дек. 2018 г., в 18:56, Andrey Borodin <x4mmm(at)yandex-team(dot)ru> написал(а):
> >
> > PFA this part. In thread about GiST vacuum Heikki was not very happy with reusing PageHeader->pd_prune_xid for this. But we somewhat concluded that this might be OK.
> > Anyway, there's whole page, we can store those bits anywhere.

We might allocate special field in opaque to store stat xid like
B-tree or SP-GiST. But we have to be binary compatible. And this
change shouldn't require upgrade procedure, since we're going to
backpatch that. We could allocate space elsewhere on the page, but
that would be a bit cumbersome. So, let's use pd_prune_xid once it's
available.

> Errrmm... I'm very sorry for the noise. I've forgot the actual patch.

Attached patch appears to be incomplete. GinPageSetDeleteXid() is
called only in ginRedoDeletePage(), so only in recovery, while it
should be set during normal work too. deleteXid field of
ginxlogDeletePage is never set.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2018-12-10 22:50:46 Re: Connections hang indefinitely while taking a gin index's LWLock buffer_content lock
Previous Message Dmitry Dolgov 2018-12-10 21:37:28 Re: [HACKERS][PATCH] Applying PMDK to WAL operations for persistent memory