Re: Block-level CRC checks

From: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Bruce Momjian" <bruce(at)momjian(dot)us>, "Josh Berkus" <josh(at)agliodbs(dot)com>, "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>, "Gregory Stark" <stark(at)enterprisedb(dot)com>, "Martijn van Oosterhout" <kleptog(at)svana(dot)org>, "Greg Stark" <greg(dot)stark(at)enterprisedb(dot)com>, "Pg Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Block-level CRC checks
Date: 2008-12-15 17:03:41
Message-ID: 36e682920812150903s44faf0a4t6623562707d70133@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Dec 15, 2008 at 11:50 AM, Alvaro Herrera
<alvherre(at)commandprompt(dot)com> wrote:
> 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.

Yeah. What really sucks is that it would be fairly unpredictable and
could easily result in unexpected production performance issues.

It is pretty late in the process to continue with this design-related
discussion, but I really wanted to see it in 8.4.

--
Jonah H. Harris, Senior DBA
myYearbook.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Fetter 2008-12-15 17:12:45 Re: pre-MED
Previous Message Robert Haas 2008-12-15 17:01:30 Re: Restore enforce_generic_type_consistency's breaks a farms