Re: CSStorm occurred again by postgreSQL8.2 - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: CSStorm occurred again by postgreSQL8.2
Date
Msg-id 20060914142222.GA525@alvh.no-ip.org
Whole thread Raw
In response to Re: CSStorm occurred again by postgreSQL8.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: CSStorm occurred again by postgreSQL8.2  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> I wrote:
> > I see a bug though, which is that RecordSubTransactionAbort() calls
> > GetCurrentTransactionId() before having verified that it needs to do
> > anything.  This means that we'll generate and then discard an XID
> > uselessly in a failed subxact that didn't touch disk.
> 
> Well, it would be a bug except that RecordSubTransactionAbort isn't
> called unless the current subxact has an XID.  Perhaps a comment would
> be appropriate but there's nothing to fix here.
> 
> I think Theo's problem is probably somewhere else, too --- apparently
> it's not so much that TransactionIdIsCurrentTransactionId takes a long
> time as that something is calling it lots of times with no check for
> interrupt.

Could it be something like heap_lock_tuple?  It calls MultiXactIdWait,
which calls GetMultXactIdMembers and TransactionIdIsCurrentTransactionId
on each member.  (heap_update and heap_delete do the same thing).  I
must admit I didn't read Theo's description on his scenario though.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Release notes
Next
From: "Albe Laurenz"
Date:
Subject: Re: AIX shared libraries