Re: Why are we PageInit'ing buffers in RelationAddExtraBlocks()? - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Why are we PageInit'ing buffers in RelationAddExtraBlocks()?
Date
Msg-id 20190128234933.ioateictsk3qmsuf@alap3.anarazel.de
Whole thread Raw
In response to Re: Why are we PageInit'ing buffers in RelationAddExtraBlocks()?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Why are we PageInit'ing buffers in RelationAddExtraBlocks()?  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Hi,

On 2019-01-28 18:08:59 -0500, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I'm inclined to put back the
> >            LockBuffer(buf, BUFFER_LOCK_UNLOCK);
> >            LockRelationForExtension(onerel, ExclusiveLock);
> >            UnlockRelationForExtension(onerel, ExclusiveLock);
> >            LockBufferForCleanup(buf);
> >            if (PageIsNew(page))
> > dance regardless, just to get the buildfarm to green?
> 
> The buildfarm's got half a dozen reports now of a failure of this ilk,
> so you'd better do something.

Yea, I was working on a patch. Was trying to come up with an explanation
of how this can be realistically hit on the BF, but failed.  I've pushed
something now, let's see whether that fixes it.


> > But I do wonder if we should just make hio.c cope with this instead.
> 
> Probably should not try to go that way under time presssure.

Definitely.

Greetings,

Andres Freund


pgsql-hackers by date:

Previous
From: Nikita Glukhov
Date:
Subject: Re: jsonpath
Next
From: Amit Kapila
Date:
Subject: Re: WIP: Avoid creation of the free space map for small tables