Re: pgsql: Resolve timing issue with logging locks for Hot Standby.

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Resolve timing issue with logging locks for Hot Standby.
Date: 2012-01-30 14:12:17
Message-ID: CA+TgmobUxd2PRh3mMpQg4piCLiCeQ-GYkg-HntPCdBRVO43mng@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On Mon, Jan 30, 2012 at 4:13 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On Mon, Jan 30, 2012 at 12:30 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
>>> Resolve timing issue with logging locks for Hot Standby.
>>> We log AccessExclusiveLocks for replay onto standby nodes,
>>> but because of timing issues on ProcArray it is possible to
>>> log a lock that is still held by a just committed transaction
>>> that is very soon to be removed. To avoid any timing issue we
>>> avoid applying locks made by transactions with InvalidXid.
>>
>>> Simon Riggs, bug report Tom Lane, diagnosis Pavan Deolasee
>>
>> I see this was only applied to HEAD.  Wouldn't back-patching be in
>> order?  The problem is in 9.1 as well, no?
>
> Yes, it is. I prefer to give a little time before backpatching to
> avoid mistakes (of my own making), especially since we're busy enough
> not to want to divert energy to other releases right now. The patch
> will make it in before next minor release.

If it's going to go in before the next minor release, there's no real
value in holding off, is there?

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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Simon Riggs 2012-01-30 14:35:07 pgsql: Various minor comments changes from bgwriter to checkpointer.
Previous Message Heikki Linnakangas 2012-01-30 09:54:35 pgsql: Accept a non-existent value in "ALTER USER/DATABASE SET ..." com