Neil Conway wrote:
On Tue, 2008-03-25 at 17:26 -0300, Alvaro Herrera wrote:
There is one hole here: contention on ProcArrayLock.  Basically, for
simple transactions we will need to update MyProc after every command.

If we're just updating MyProc->xmin, we only need to acquire
ProcArrayLock in shared mode, right?

In fact, do you need a lock at all? We already assume that reading/writing a TransactionId is atomic in many places. We acquire ProcArrayLock at the end of transaction when we clear MyProc->xid, to ensure that we don't exit the set of running transactions while someone else is taking a snapshot, but AFAICS that's not necessary when we just advance MyProc->xmin.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to