Re: MarkBufferDirtyHint() and LSN update

Поиск
Список
Период
Сортировка
Искать
От
Antonin Houska
Тема
Re: MarkBufferDirtyHint() and LSN update
Дата
Msg-id
94901.1572630686@antos
Ответ на
Список
Дерево обсуждения
MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Re: MarkBufferDirtyHint() and LSN update Tomas Vondra <tomas.vondra@2ndquadrant.com>
Re: MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Re: MarkBufferDirtyHint() and LSN update Michael Paquier <michael@paquier.xyz>
Re: MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Re: MarkBufferDirtyHint() and LSN update Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Re: MarkBufferDirtyHint() and LSN update Michael Paquier <michael@paquier.xyz>
Re: MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Re: MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Re: MarkBufferDirtyHint() and LSN update Michael Paquier <michael@paquier.xyz>
Re: MarkBufferDirtyHint() and LSN update Michael Paquier <michael@paquier.xyz>
Re: MarkBufferDirtyHint() and LSN update Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Re: MarkBufferDirtyHint() and LSN update Robert Haas <robertmhaas@gmail.com>
Re: MarkBufferDirtyHint() and LSN update Antonin Houska <ah@cybertec.at>
Robert Haas  wrote:

> On Wed, Oct 30, 2019 at 9:43 AM Antonin Houska  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?

No, I'm saying that MarkBufferDirtyHint() leaves BM_DIRTY set, as
expected. However, if things happen in the order I described, then LSN
returned by XLogSaveBufferForHint() is not assigned to the page.

-- 
Antonin Houska
Web: https://www.cybertec-postgresql.com


В списке pgsql-hackers по дате отправления
От: Fabien COELHO
Дата:
От: Andrew Dunstan
Дата:
Сообщение: Re: ssl passphrase callback
FAQ