From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Curt Sampson <cjs(at)cynic(dot)net>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Detecting corrupted pages earlier |
Date: | 2003-02-18 04:49:58 |
Message-ID: | 200302180449.h1I4nxT15959@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> Curt Sampson <cjs(at)cynic(dot)net> writes:
> > On Mon, 17 Feb 2003, Tom Lane wrote:
> >> Postgres has a bad habit of becoming very confused if the page header of
> >> a page on disk has become corrupted.
>
> > What typically causes this corruption?
>
> Well, I'd like to know that too. I have seen some cases that were
> identified as hardware problems (disk wrote data to wrong sector, RAM
> dropped some bits, etc). I'm not convinced that that's the whole story,
> but I have nothing to chew on that could lead to identifying a software
> bug.
>
> > If it's any kind of a serious problem, maybe it would be worth keeping
> > a CRC of the header at the end of the page somewhere.
>
> See past discussions about keeping CRCs of page contents. Ultimately
> I think it's a significant expenditure of CPU for very marginal returns
> --- the layers underneath us are supposed to keep their own CRCs or
> other cross-checks, and a very substantial chunk of the problem seems
> to be bad RAM, against which occasional software CRC checks aren't
> especially useful.
I believe the farthest we got was the idea of adding a CRC page
check option in case you suspected bad hardware.
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2003-02-18 05:15:43 | Re: [HACKERS] WAL replay logic (was Re: Mount options for |
Previous Message | Anuradha Ratnaweera | 2003-02-18 04:26:46 | Group by, count, order by and limit |