Re: corrupt pages detected by enabling checksums - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: corrupt pages detected by enabling checksums
Date
Msg-id 001801ce4d9b$ce046ff0$6a0d4fd0$@kapila@huawei.com
Whole thread Raw
In response to Re: corrupt pages detected by enabling checksums  (Greg Stark <stark@mit.edu>)
List pgsql-hackers
On Friday, May 10, 2013 6:09 PM Greg Stark wrote:
> On Fri, May 10, 2013 at 7:44 AM, Simon Riggs <simon@2ndquadrant.com>
> wrote:
> >> Having one corrupt record followed by a valid record is not an
> >> abnormal situation. It could easily be the correct end of WAL.
> >
> > I disagree, that *is* an abnormal situation and would not be the
> > "correct end-of-WAL".
> >
> > Each WAL record contains a "prev" pointer to the last WAL record. So
> > for the next record to be valid the prev pointer would need to be
> > exactly correct.
> 
> Well then you're wrong. The OS makes no guarantee that blocks are
> written out in order. When the system crashes any random subset of the
> blocks written but not synced might have been written to disk and
> others not. There could be megabytes of correct WAL written with just
> one block in the middle of the first record not written. If no xlog
> sync had occurred (or one was in progress but not completed) then
> that's the correct end of WAL.

In the case where one block is missing, how can it even reach to next record
to check "prev" pointer.
I think it can be possible when one of the record is corrupt and following
are okay which I think is the 
case in which it can proceed with warning as suggested by Simon.

With Regards,
Amit Kapila.




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PATCH] Make "psql -1 < file.sql" work as with "-f"
Next
From: "Evan D. Hoffman"
Date:
Subject: Re: Re: [GENERAL] pg_upgrade fails, "mismatch of relation OID" - 9.1.9 to 9.2.4