From: | Greg Stark <gsstark(at)mit(dot)edu> |
---|---|
To: | Jim Nasby <jim(at)nasby(dot)net> |
Cc: | Aidan Van Dyk <aidan(at)highrise(dot)ca>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Gurjeet Singh <singh(dot)gurjeet(at)gmail(dot)com>, PGSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Protecting against unexpected zero-pages: proposal |
Date: | 2010-11-09 17:01:45 |
Message-ID: | AANLkTik5fTNgM9y3i5zXgCgHW1dRVbJY5dQVyPj8MKOL@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Nov 9, 2010 at 4:26 PM, Jim Nasby <jim(at)nasby(dot)net> wrote:
>> On Tue, Nov 9, 2010 at 3:25 PM, Greg Stark <gsstark(at)mit(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Aidan Van Dyk | 2010-11-09 17:06:41 | Re: Protecting against unexpected zero-pages: proposal |
Previous Message | Gurjeet Singh | 2010-11-09 16:58:45 | DROP TABLESPACE needs crash-resistance |