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

From Alvaro Herrera
Subject Re: Block-level CRC checks
Date
Msg-id 20081215165048.GH4067@alvh.no-ip.org
Whole thread Raw
In response to Re: Block-level CRC checks  ("Jonah H. Harris" <jonah.harris@gmail.com>)
Responses Re: Block-level CRC checks  ("Jonah H. Harris" <jonah.harris@gmail.com>)
Re: Block-level CRC checks  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-hackers
Jonah H. Harris escribió:
> On Mon, Dec 15, 2008 at 11:29 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> > We don't really have an acceptable solution for the conflict with hint
> > bit behavior.  The shutdown issue is minor, agreed, but that's not the
> > stumbling block.
> 
> Agreed on the shutdown issue.  But, didn't this patch address the hint
> bit setting as discussed?  After performing a cursory look at the
> patch, it appears that hint-bit changes are detected and a WAL entry
> is written on buffer flush if hint bits had been changed.  I don't see
> anything wrong with this in theory.  Am I missing something?

That only does heap hint bits, but it does nothing about pd_flags, the
btree flags (btpo_cycleid I think), and something else I don't recall at
the moment.  This was all solvable however.  The big problem with it was
that it was using a new bit in pd_flags in unsafe ways.  To make it safe
you'd have to grab a lock on the page, which is very probably problematic.

> Now, in the case where hint bits have been updated and a WAL record is
> required because the buffer is being flushed, requiring the WAL to be
> flushed up to that point may be a killer on performance.  Has anyone
> tested it?

I didn't measure it but I'm sure it'll be plenty slow.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Restore enforce_generic_type_consistency's breaks a farms
Next
From: "Jonah H. Harris"
Date:
Subject: Re: Block-level CRC checks