Re: Protecting against unexpected zero-pages: proposal
Greg Stark <gsstark@mit.edu>
From: Greg Stark <gsstark@mit.edu>
To: Jim Nasby <jim@nasby.net>
Cc: Aidan Van Dyk <aidan@highrise.ca>, Tom Lane <tgl@sss.pgh.pa.us>, Gurjeet Singh <singh.gurjeet@gmail.com>, PGSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-11-09T17:01:45Z
Lists: pgsql-hackers
On Tue, Nov 9, 2010 at 4:26 PM, Jim Nasby <jim@nasby.net> wrote: >> On Tue, Nov 9, 2010 at 3:25 PM, Greg Stark <gsstark@mit.edu> wrote: >>> Oh, I'm mistaken. The problem was that buffering the writes was >>> insufficient to deal with torn pages. Even if you buffer the writes if >>> the machine crashes while only having written half the buffer out then >>> the checksum won't match. If the only changes on the page were hint >>> bit updates then there will be no full page write in the WAL log to >>> repair the block. > > If there's a torn page then we've crashed, which means we go through crash recovery, which puts a valid page (with valid CRC) back in place from the WAL. What am I missing? "If the only changes on the page were hint bit updates then there will be no full page write in the WAL to repair the block" -- greg