Re: crash-safe visibility map, take three - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: crash-safe visibility map, take three
Date
Msg-id 4CF51DF5.8060107@enterprisedb.com
Whole thread Raw
In response to Re: crash-safe visibility map, take three  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: crash-safe visibility map, take three
Re: crash-safe visibility map, take three
List pgsql-hackers
On 30.11.2010 17:38, Tom Lane wrote:
> Heikki Linnakangas<heikki.linnakangas@enterprisedb.com>  writes:
>> On 30.11.2010 06:57, Robert Haas wrote:
>>> I can't say I'm totally in love with any of these designs.  Anyone
>>> else have any ideas, or any opinions about which one is best?
>
>> Well, the design I've been pondering goes like this:
>
> Wouldn't it be easier and more robust to just consider VM bit changes to
> be part of the WAL-logged actions?  That would include updating LSNs on
> VM pages and flushing VM pages to disk during checkpoint based on their
> LSN values.  All of these other schemes seem too complicated and not
> provably correct.

The vm bit can be set once all the tuples on the page become visible to 
everyone. There is no WAL-logged action at that point we could piggyback on.

Clearing the bit is already handled like that - replay of heap 
insert/update/delete records clear the visibility map bit.

> Of course, that'd mean doing the bit changes inside the critical
> sections for the related actions, so it's not a trivial change
> code-wise, but neither are these other ideas.

Yeah, I'm not terribly excited about any of these schemes. The "intent" 
record seems like the simplest one, but even that is quite different 
from the traditional WAL-logging we do that it makes me slightly nervous.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: crash-safe visibility map, take three
Next
From: Robert Haas
Date:
Subject: Re: crash-safe visibility map, take three