Re: xlog.c: WALInsertLock vs. WALWriteLock

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, fazool mein <fazoolmein(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: xlog.c: WALInsertLock vs. WALWriteLock
Date: 2010-10-26 15:52:38
Message-ID: 1288108305-sup-6886@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David E. Wheeler 2010-10-26 16:04:17 Re: add label to enum syntax
Previous Message Merlin Moncure 2010-10-26 15:41:59 Re: Postgres insert performance and storage requirement compared to Oracle