Re: Block-level CRC checks

From: Aidan Van Dyk <aidan(at)highrise(dot)ca>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: 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-11-30 21:49:14
Message-ID: 20091130214913.GU17573@oak.highrise.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

* Simon Riggs <simon(at)2ndQuadrant(dot)com> [091130 16:28]:
>
> You've written that as if you are spotting a problem. It sounds to me
> that this is exactly the situation we would like to detect and this is a
> perfect way of doing that.
>
> What do you see is the purpose here apart from spotting corruptions?
>
> Do we think error rates are so low we can recover the corruption by
> doing something clever with the CRC? I envisage most corruptions as
> being unrecoverable except from backup/WAL/replicated servers.
>
> It's been a long day, so perhaps I've misunderstood.

No, I believe the torn-page problem is exactly the thing that made the
checksum talks stall out last time... The torn page isn't currently a
problem on only-hint-bit-dirty writes, because if you get
half-old/half-new, the only changes is the hint bit - no big loss, the
data is still the same.

But, with a form of check-sums, when you read it it next time, is it
corrupt? According to the check-sum, yes, but in reality, the *data* is
still valid, just that the check sum is/isn't correctly matching the
half-changed hint bits...

And then many not-so-really-attractive workarounds where thrown around,
with nothing nice falling into place...

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 Dimitri Fontaine 2009-11-30 21:54:54 Re: Application name patch - v4
Previous Message Craig Ringer 2009-11-30 21:45:09 Re: draft RFC: concept for partial, wal-based replication