Re: Buffer locking is special (hints, checksums, AIO writes)

From: Andres Freund <andres(at)anarazel(dot)de>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Alexander Lakhin <exclusion(at)gmail(dot)com>, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Noah Misch <noah(at)leadboat(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Subject: Re: Buffer locking is special (hints, checksums, AIO writes)
Date: 2026-01-29 18:06:22
Message-ID: lkymqy2erm24hrdapeiwf3gzehrbr3wstfekolpvh2nneopazf@xlm4vab26dw5
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2026-01-29 12:50:38 -0500, Peter Geoghegan wrote:
> On Thu, Jan 29, 2026 at 12:42 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > > - /*
> > > - * We better not already hold a lock on the buffer.
> > > - */
> > > Assert(entry->data.lockmode == BUFFER_LOCK_UNLOCK);
> > >
> >
> > Err, this should have been removed, I accidentally re-added the hunk while
> > experimenting.
>
> I've been running into this assertion failure from time to time while
> working on index prefetching. It seems to happen after a hard crash.
> I've just been running initdb whenever it happens. It would be nice to
> not have to do this again.

Sure, I'm planning to give folks a bit longer to chime in whether the proposed
behavior is sane and will then push (with an amended commit message and the
fixup discussed here).

After a crash it seems that btree often ends up getting the page from FSM that
it's currently inserting on. Which makes some sense, because presumably that
was the page we filled just before a crash. Wonder if - independent of this
issue - it could make sense to update the FSM during nbtree WAL recovery...

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2026-01-29 18:12:35 Re: Buffer locking is special (hints, checksums, AIO writes)
Previous Message Nathan Bossart 2026-01-29 17:53:08 Re: Pasword expiration warning