Re: Block-level CRC checks - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Block-level CRC checks
Date
Msg-id 17269.1226246552@sss.pgh.pa.us
Whole thread Raw
In response to Re: Block-level CRC checks  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: Block-level CRC checks  (Martijn van Oosterhout <kleptog@svana.org>)
Re: Block-level CRC checks  (Greg Stark <greg.stark@enterprisedb.com>)
List pgsql-hackers
Martijn van Oosterhout <kleptog@svana.org> writes:
> There is another option I havn't seen mentioned anywhere yet: a single
> bit change in a page has a predictable change on the CRC, dependant
> only on the position of the bit. So in theory it would be possible for
> the process changing the hint bit to update the CRC with a single XOR
> operation. Working out what to XOR it with is the hard part.

> Although, maybe locking of the hint bits would be a problem?

Yes it would :-(.  Also, this scheme would point us towards maintaining
the CRCs *continually* while the page is in memory, rather than only
recalculating them upon write.  So every tuple insert/update/delete
would require a recalculation of the entire page CRC.

What happened to the plan to double-buffer the writes to avoid this
issue?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Ron Mayer
Date:
Subject: Re: Patch for SQL-Standard Interval output and decoupling DateStyle from IntervalStyle
Next
From: Magnus Hagander
Date:
Subject: Re: Spurious Kerberos error messages