Re: Block-level CRC checks

From: Aidan Van Dyk <aidan(at)highrise(dot)ca>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Simon Riggs <simon(at)2ndQuadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Block-level CRC checks
Date: 2009-12-01 19:06:32
Message-ID: 20091201190632.GF15507@oak.highrise.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

* Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> [091201 13:58]:

> Actually, the killer problem with *any* scheme involving "guessing"
> is that each bit you guess translates directly to removing one bit
> of confidence from the CRC value. If you try to guess at as many
> as 32 bits, it is practically guaranteed that you will find a
> combination that makes a 32-bit CRC appear to match. Well before
> that, you have degraded the reliability of the error detection to
> the point that there's no point.

Exactly.

> The bottom line here seems to be that the only practical way to do
> anything like this is to move the hint bits into their own area of
> the page, and then exclude them from the CRC. Are we prepared to
> once again blow off any hope of in-place update for another release
> cycle?

Well, *I* think if we're ever going to have really reliable "in-place
upgrades" that we can expect to function release after release, we're
going to need to be able to read in "old version" pages, and convert
them to current version pages, for some set of "old version" (I'ld be
happy with $VERSION-1)... But I don't see that happening any time
soon...

But I'm not loading TB of data either, my largest clusters are a couple
of gigs, so I acknowledge my priorities are probably quite different
then some of the companies driving a lot of the heavy development.

a.
--
Aidan Van Dyk Create like a god,
aidan(at)highrise(dot)ca command like a king,
http://www.highrise.ca/ work like a slave.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-12-01 19:07:22 Re: Re: [COMMITTERS] pgsql: Rewrite GEQO`s gimme_tree function so that it always finds a
Previous Message Tom Lane 2009-12-01 19:05:19 Re: Deleted WAL files held open by backends in Linux