Re: Why we need to check for local buffers in BufferIsExclusiveLocked and BufferIsDirty?
Nazir Bilal Yavuz <byavuz81@gmail.com>
From: Nazir Bilal Yavuz <byavuz81@gmail.com>
To: Srinath Reddy Sadipiralla <srinath.reddy@zohocorp.com>
Cc: Andres Freund <andres@anarazel.de>,
pgsql-hackers <pgsql-hackers@lists.postgresql.org>, 3danissimo@gmail.com
Date: 2024-12-06T11:10:51Z
Lists: pgsql-hackers
Hi, On Fri, 6 Dec 2024 at 07:03, Srinath Reddy Sadipiralla <srinath.reddy@zohocorp.com> wrote: > > > ---- On Thu, 05 Dec 2024 21:11:42 +0530 Andres Freund <andres@anarazel.de> wrote --- > > > Hi, > > > On 2024-12-05 18:38:16 +0530, Srinath Reddy Sadipiralla wrote: > >> Why we need to check for local buffers in BufferIsExclusiveLocked and > >> BufferIsDirty?,these 2 functions are called only from > >> XlogRegisterBuffer,AFAIK which will be called only for permanent > >> relations.Please correct me if i am wrong. > > > That's maybe true for in-core code today, but what guarantees that that's true > > for the future? And what about code in extensions? > > > The gain by not dealing with local buffers in these functions is fairly small > > too, so there's not really any reason for a change like yours. > > > - Andres > > > hmm got it,if thats the case, for local buffers lockbuffer will skip acquiring content lock, so assert will fail in BufferIsDirty. LGTM. Adding Daniil to CC as he too started a similar thread [1]. [1] postgr.es/m/CAJDiXggGznOttwREfyZRE4f7oLRz1%3DjTA4xA7u-t6_8CX7j%3D0g%40mail.gmail.com -- Regards, Nazir Bilal Yavuz Microsoft
Commits
-
Make BufferIsExclusiveLocked and BufferIsDirty work for local buffers.
- f6ff75f79689 18.0 landed