Re: MarkBufferDirtyHint() and LSN update

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Antonin Houska <ah(at)cybertec(dot)at>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: MarkBufferDirtyHint() and LSN update
Date: 2019-11-01 15:23:20
Message-ID: CA+TgmobidaRMiMz9RCBXXTsyGnGuE6z9twiH2-WPBmoUWrKiSg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Oct 30, 2019 at 9:43 AM Antonin Houska <ah(at)cybertec(dot)at> wrote:
> 5. In the first session, FlushBuffer()->TerminateBufferIO() will not clear
> BM_DIRTY because MarkBufferDirtyHint() has eventually set
> BM_JUST_DIRTIED. Thus the hint bit change itself will be written by the next
> call of FlushBuffer(). However page LSN is hasn't been updated so the
> requirement that WAL must be flushed first is not met.

This part confuses me. Are you saying that MarkBufferDirtyHint() can
set BM_JUST_DIRTIED without setting BM_DIRTY?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Asif Rehman 2019-11-01 15:26:02 Re: WIP/PoC for parallel backup
Previous Message Peter Geoghegan 2019-11-01 15:22:27 Re: Remove configure --disable-float4-byval and --disable-float8-byval