Re: Are you actively hacking on 2PC?

From: Alvaro Herrera <alvherre(at)surnet(dot)cl>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: Are you actively hacking on 2PC?
Date: 2005-06-09 01:16:48
Message-ID: 20050609011648.GA7548@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Ok, I made some more changes and the current patch is here (the same new
files list applies). If you already started looking at the other patch
I can give you the patch between both, if it makes your life easier.

Additionally I collected some to-do entries, maybe you find it useful.

I'm sure you'll rewrite lots of things, so in order not to collide I'll
go back to my shared dependencies patch :-) (regarding the two things I
said I'd work on, notifes are already supported; and large object
support seems more hassle than worth to implement and we could punt for
this release ... )

* Verify that TransactionIdIsInProgress is correct w.r.t.
TransactionIdIsPrepared.

* MultiXactId needs to be supported.

* Clean up the callback support.

* Make sure we don't lose a file descriptor after BasicOpenFile if we
ereport() after opening it. Maybe use FileNameOpenFile instead.

* Clean up the use of transaction identifiers. X/Open has a Transaction
Identifier standard definition, look that up.

* Is PREPARE TRANSACTION the best interface? What about marking a transaction
for preparing when it begins? Apparently the XA spec requires/prefers this.

* Fix the erroneous sinval interactions reported by the regression test.

* Make the relcache-file-delete logic separate from particular sinval messages.

* Check whether the TwoPhaseStateLock usage per GetPreparedTransactionXidList
is safe. (In particular in CheckPointTwoPhase)

* Rethink about using both WAL and a state file. (If we declared the
intent to persist a transaction when it begins, maybe we don't need
the state file at all.)

* Rework the XLog entries for prepare, commit prepared, abort prepared.
They seem messy.

* Verify the order of calls in PrepareTransaction.

* Why is the new code in GetOldestXmin dependent on allDbs? That seems bogus.

* Add a databaseId field in GlobalTransactionData, and check it where
appropiate.

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
"The first of April is the day we remember what we are
the other 364 days of the year" (Mark Twain)

Attachment Content-Type Size
twophase-2005-06-08.patch text/plain 129.2 KB

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2005-06-09 01:55:59 Re: [HACKERS] Should *.backup files ever be removed from pg_xlog?
Previous Message Tom Lane 2005-06-09 00:12:32 Re: ALTER SCHEMA ... SET TABLESPACE