From: Tom Lane <tgl@sss.pgh.pa.us>
To: Gregory Stark <stark@enterprisedb.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp>
Cc: Bruce Momjian <bruce@momjian.us>
Cc: pgsql-hackers@postgresql.org
Subject: Re: CSStorm occurred again by postgreSQL8.2
Date: Thu, 14 Sep 2006 09:40:50 -0400
Message-ID: <28167.1158241250@sss.pgh.pa.us> (raw)
In-Reply-To: <27509.1158237711@sss.pgh.pa.us>
References: <20060808110913.50FA.ITAGAKI.TAKAHIRO@oss.ntt.co.jp>
<200608260346.k7Q3k2g06954@momjian.us>
<20060828181312.5638.ITAGAKI.TAKAHIRO@oss.ntt.co.jp>
<13251.1157299738@sss.pgh.pa.us>
<22080.1158198335@sss.pgh.pa.us>
<87mz92so6n.fsf@enterprisedb.com>
<27509.1158237711@sss.pgh.pa.us>
I wrote:
> Yeah, I was just looking at that. Removing useless entries from the
> child-xid list would presumably help him. Considering we're not even
> formally in beta yet, I'm probably being too conservative to recommend
> we not touch it.
Actually ... wait a minute. We do not assign an XID to a subtransaction
at all unless it writes a tuple to disk (see GetCurrentTransactionId
and its callers). So this whole "optimization" idea is redundant.
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. Worth fixing,
but it doesn't look like this is Theo's problem.
Unless I'm missing something, Theo's problem must involve having done
tuple updates in 4.6M different subtransactions.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, stark@enterprisedb.com, alvherre@alvh.no-ip.org, itagaki.takahiro@oss.ntt.co.jp, bruce@momjian.us
Subject: Re: CSStorm occurred again by postgreSQL8.2
In-Reply-To: <28167.1158241250@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox