On 2021-Sep-17, Bossart, Nathan wrote:
> I gave the patch a read-through. I'm wondering if the
> XLOG_OVERWRITE_CONTRECORD records are actually necessary. IIUC we
> will set XLP_FIRST_IS_ABORTED_PARTIAL on the next page, and
> xlp_pageaddr on that page will already be validated in
> XLogReaderValidatePageHeader(). Does adding this new record also help
> ensure the page header is filled in and flushed to disk?
That was the first implementation, a few versions of the patch ago. An
added benefit of a separate WAL record is that you can carry additional
data for validation, such as -- as suggested by Andres -- the CRC of the
partial data contained in the message that we're skipping. I didn't
implement that, but it should be trivial to add it.
--
Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/
"How strange it is to find the words "Perl" and "saner" in such close
proximity, with no apparent sense of irony. I doubt that Larry himself
could have managed it." (ncm, http://lwn.net/Articles/174769/)