[DB-SIG] Two-phase commit API proposal (was Re: Any standard for two phase commit APIs?)

Dieter Maurer dieter at handshake.de
Thu Jan 24 18:47:03 CET 2008


James Henstridge wrote at 2008-1-24 23:16 +0900:
>On 23/01/2008, Dieter Maurer <dieter at handshake.de> wrote:
> ...
>Here is a concrete example:
>
>1. create two databases on a single PostgreSQL install.
>2. write an application that connects to each database (which implies
>two connections).
>3. try to prepare transactions on each connection using the same
>transaction identifier.
>
>One of the transactions will fail with a "transaction identifier is
>already in use" error.  While each connection is accessing independent
>resources, the transaction ID namespace is shared by all databases in
>the cluster.
>
>Now if you include a branch qualifier in the transaction IDs the
>problem is avoided.  The MySQL documentation leads me to believe it
>behaves similarly.

This description suggests that the TM provides the "main" transaction
identifier and the resource manager could add the branch part.



-- 
Dieter


More information about the DB-SIG mailing list