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
pgsql-hackers by date
| Next: | From: Teodor Sigaev | Date: 2007-06-05 12:51:23 |
| Subject: Re: GIN, XLogInsert and MarkBufferDirty |
| Previous: | From: Richard Huxton | Date: 2007-06-05 09:45:54 |
| Subject: Re: libpq and Binary Data Formats |