Re: [COMMITTERS] pgsql: Make the visibility map crash-safe.

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Make the visibility map crash-safe.
Date: 2011-06-23 13:22:40
Message-ID: BANLkTik_oywk8_oZtB9mkOoh1ChkKFtvVA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On Wed, Jun 22, 2011 at 10:23 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> Well, it seems I didn't put nearly enough thought into heap_update().
> The fix for the immediate problem looks simple enough - all the code
> has been refactored to use the new API, so the calls can be easily be
> moved into the critical section (see attached).  But looking at this a
> little more, I see that heap_update() is many bricks short of a load,
> because there are several places where the buffer can be unlocked and
> relocked, and we don't recheck whether the page is all-visible after
> reacquiring the lock.  So I've got some more work to do here.

See what you think of the attached. I *think* this covers all bases.
It's a little more complicated than I would like, but I don't think
fatally so.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment Content-Type Size
heap-update-vm-fix-v2.patch application/octet-stream 8.9 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2011-06-23 19:14:18 pgsql: Add information schema views role_udt_grants, udt_privileges, us
Previous Message Peter Eisentraut 2011-06-23 05:12:24 pgsql: Add a bit of markup

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitriy Igrishin 2011-06-23 13:40:55 Re: fixing PQsetvalue()
Previous Message Andrew Chernow 2011-06-23 12:54:46 Re: fixing PQsetvalue()