Re: [SPAM?]: Re: Block-level CRC checks - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: [SPAM?]: Re: Block-level CRC checks
Date
Msg-id 1222936137.12899.5.camel@huvostro
Whole thread Raw
In response to Re: Block-level CRC checks  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
On Thu, 2008-10-02 at 09:35 +0300, Heikki Linnakangas wrote:
> Jonah H. Harris wrote:
> > Rather than potentially letting this slide past 8.4, I threw together
> > an extremely quick-hack patch at the smgr-layer for block-level
> > checksums.
> 
> One hard problem is how to deal with torn pages with non-WAL-logged 
> changes. Like heap hint bit updates, killing tuples in index pages 
> during a scan, and the new FSM pages.

Hit bit updates and killing tuples in index pages during a scan can
probably be brute-forced quite cheaply after we find a CRC mismatch.
Not sure about new FSM pages.

> Currently, a torn page when writing a hint-bit-updated page doesn't 
> matter, but it would break the checksum.

Another idea is to just ignore non-WAL-logged bits when calculating
CRC-s, by masking them out before adding corresponding bytes to CRC.

This requires page-type aware CRC functions and is more expensive to
calculate. How much more expensive is something that only testing can
tell. Probably not very much, as everything needed should be in L1
caches already.

---------------
Hannu




pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: FSM rewrite committed, loose ends
Next
From: Zdenek Kotala
Date:
Subject: Re: FSM rewrite committed, loose ends