From: Tom Lane <tgl@sss.pgh.pa.us>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: Kevin Grittner <Kevin.Grittner@wicourts.gov>
Cc: pgsql-hackers@postgresql.org
Subject: Re: SSI atomic commit
Date: Thu, 07 Jul 2011 16:48:55 -0400
Message-ID: <2648.1310071735@sss.pgh.pa.us> (raw)
In-Reply-To: <4E161881.6090800@enterprisedb.com>
References: <4E12FDA8020000250003EFC1@gw.wicourts.gov>
<4E15D48A.7080203@enterprisedb.com>
<4E159B5C020000250003F063@gw.wicourts.gov>
<4E160005.1020300@enterprisedb.com>
<4E161881.6090800@enterprisedb.com>
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> Kevin and Dan also pointed out that a 2PC transaction can stay in
> prepared state for a long time, and we could optimize that by setting
> prepareSeqNo only at the final COMMIT PREPARED. I objected to that, for
> the reason that it's currently very convenient for testing purposes that
> a transaction prepared with PREPARE TRANSACTION is in the exact same
> state as regular transaction that's going through regular commit processing.
Seems to me there's a more fundamental reason not to do that, which is
that once you've done PREPARE it is no longer legitimate to decide to
roll back the transaction to get out of a "dangerous" structure --- ie,
you have to target one of the other xacts involved instead. Shouldn't
the assignment of a prepareSeqNo correspond to the point where the xact
is no longer a target for SSI rollback?
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, heikki.linnakangas@enterprisedb.com, Kevin.Grittner@wicourts.gov
Subject: Re: SSI atomic commit
In-Reply-To: <2648.1310071735@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