BLK_DONE state in XLogReadBufferForRedoExtended

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: BLK_DONE state in XLogReadBufferForRedoExtended
Date: 2017-10-12 13:47:22
Message-ID: CAA4eK1JMAA5UZqF6hpZf-e4u9Y0RU6NieydMVEOU4EE+FwW+RA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Today, I was trying to think about cases when we can return BLK_DONE
in XLogReadBufferForRedoExtended. One thing that occurred to me is
that it can happen during the replay of WAL if the full_page_writes is
off. Basically, when the full_page_writes is on, then during crash
recovery, it will always first restore the full page image of page and
then apply the WAL corresponding to that page, so we will never hit
the case where the lsn of the page is greater than lsn of WAL record.

Are there other cases for which we can get BLK_DONE state? Is it
mentioned somewhere in code/comments which I am missing?

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-10-12 14:00:47 Re: Discussion on missing optimizations
Previous Message David Rowley 2017-10-12 13:43:47 Re: Extended statistics is not working on Vars hidden under a RelabelType