Re: xlog.c: WALInsertLock vs. WALWriteLock - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: xlog.c: WALInsertLock vs. WALWriteLock
Date
Msg-id 1288108305-sup-6886@alvh.no-ip.org
Whole thread Raw
In response to Re: xlog.c: WALInsertLock vs. WALWriteLock  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: xlog.c: WALInsertLock vs. WALWriteLock  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: xlog.c: WALInsertLock vs. WALWriteLock  (Markus Wanner <markus@bluegap.ch>)
List pgsql-hackers
Excerpts from Jeff Janes's message of mar oct 26 12:22:38 -0300 2010:

> I don't think that holding WALWriteLock accomplishes much.  It
> prevents part of the buffer from being written out to OS/disk, and
> thus becoming eligible for being overwritten in the buffer, but the
> WALInsertLock prevents it from actually being overwritten.  And what
> if the part of the buffer you want to read was already eligible for
> overwriting but not yet actually overwritten?  WALWriteLock won't
> allow you to safely access it, but WALInsertLock will (assuming you
> have a safe way to identify the record in the first place).  For
> either case, holding it in shared mode would be sufficient.

And horrible for performance, I imagine.  Those locks are highly trafficked.

-- 
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Boszormenyi Zoltan
Date:
Subject: Re: plan time of MASSIVE partitioning ...
Next
From: "David E. Wheeler"
Date:
Subject: Re: add label to enum syntax