Re: Why are we PageInit'ing buffers in RelationAddExtraBlocks()?
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Amit Kapila <amit.kapila16@gmail.com>
Date: 2019-01-29T00:40:36Z
Lists: pgsql-hackers
Hi, On 2019-01-28 15:49:33 -0800, Andres Freund wrote: > 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. It has not. Given that I don't understand what's happening here I'm going to revert both commits unless I figure it out in the next ~30min. Greetings, Andres Freund
Commits
-
Move page initialization from RelationAddExtraBlocks() to use, take 2.
- 0d1fe9f74e36 12.0 landed
-
Fix race condition between relation extension and vacuum.
- fc02e6724f3c 12.0 landed
-
Move page initialization from RelationAddExtraBlocks() to use.
- e6799d5a5301 12.0 landed