Re: BUG #8470: 9.3 locking/subtransaction performance regression

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: os(at)ohmu(dot)fi
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #8470: 9.3 locking/subtransaction performance regression
Date: 2013-12-23 16:29:05
Message-ID: 20131223162903.GJ22570@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Alvaro Herrera wrote:

> I have more confidence in this patch than in the previous version,
> despite it being more intrusive. The fact that it allows us to get rid
> of some very strange coding in pgrowlocks is comforting: we now know
> that anytime a tuple is locked we will get BeingUpdated from
> HeapTupleSatisfiesUpdate, regardless of *who* locked it, and all the
> callers are able to identify this case and act in consequence. This
> seems saner in concept that sometimes returning MayBeUpdated, because
> that turns each such return into a condition that must be double-checked
> by callers. This means cleaner code in pgrowlocks around a HTSU call,
> for instance. Also, we have discussed and seriously considered this
> idea in several occasions previously in connection with other things.

... in particular, this change allows us to revert the addition of
MultiXactHasRunningRemoteMembers(), and simply use
MultiXactIdIsRunning() in the two places that required it.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Brett Neumeier 2013-12-23 17:45:35 Re: BUG #8684: Tables with custom range domain type cannot be analyzed
Previous Message Alvaro Herrera 2013-12-23 15:56:04 Re: BUG #8470: 9.3 locking/subtransaction performance regression