Re: New CRC algorithm: Slicing by 8 - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: New CRC algorithm: Slicing by 8
Date
Msg-id 1161705959.3861.224.camel@silverbirch.site
Whole thread Raw
In response to Re: New CRC algorithm: Slicing by 8  (mark@mark.mielke.cc)
Responses Re: New CRC algorithm: Slicing by 8  (mark@mark.mielke.cc)
List pgsql-hackers
On Tue, 2006-10-24 at 10:18 -0400, mark@mark.mielke.cc wrote:
> On Tue, Oct 24, 2006 at 02:52:36PM +0100, Simon Riggs wrote:
> > On Tue, 2006-10-24 at 09:37 -0400, Tom Lane wrote:
> > > No, because unlike tuples, WAL records can and do cross page boundaries.
> 
> > But not that often, with full_page_writes = off. So we could get away
> > with just CRC checking the page-spanning ones and mark the records to
> > show whether they have been CRC checked or not and need to be rechecked
> > at recovery time. That would reduce the CRC overhead to about 1-5% of
> > what it is now (as an option).
> 
> WAL pages 8 Kbytes, and disk pages 512 bytes, correct? I don't see a
> guarantee in here that the 8 Kbytes worth of data will be written as
> sequential writes, nor that the 8 Kbytes of data will necessarily
> finish.
> 
> If the operating system uses 8 Kbyte pages, or the RAID system uses 8
> Kbytes or larger chunks, and they guarantee sequential writes, perhaps
> it is ok. Still, if the power goes out after writing the first 512
> bytes, 2048 bytes, or 4096 bytes, then what? With RAID involved it
> might get better or worse, depending on the RAID configuration.

That is the torn-page problem. If your system doesn't already protect
you against this you have no business turning off full_page_writes,
which was one of my starting assumptions.

--  Simon Riggs              EnterpriseDB   http://www.enterprisedb.com




pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Release stamping (Was: [CORE] Schedule for release?)
Next
From: "Joshua D. Drake"
Date:
Subject: Incorrect behavior with CE and ORDER BY