GIN, XLogInsert and MarkBufferDirty

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: teodor(at)postgresql(dot)org
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: GIN, XLogInsert and MarkBufferDirty
Date: 2007-06-05 12:09:40
Message-ID: 46655284.9040004@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Teodor,

I think there's a little bug in ginInsertValue. A page is marked as
dirty with MarkBufferDirty after writing the corresponding WAL record
with XLogInsert. That's not safe, MarkBufferDirty needs to be called
before XLogInsert to avoid a race condition in checkpoint, see comments
in SyncOneBuffer in bufmgr.c for an explanation.

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Teodor Sigaev 2007-06-05 12:51:23 Re: GIN, XLogInsert and MarkBufferDirty
Previous Message Richard Huxton 2007-06-05 09:45:54 Re: libpq and Binary Data Formats