Re: Two-phase commit

From: "Zeugswetter Andreas DAZ SD" <ZeugswetterA(at)spardat(dot)at>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Oliver Jowett" <oliver(at)opencloud(dot)com>
Cc: "Heikki Linnakangas" <hlinnaka(at)iki(dot)fi>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Two-phase commit
Date: 2004-10-07 08:26:39
Message-ID: 46C15C39FEB2C44BA555E356FBCD6FA40184D1D0@m0114.s-mxs.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> Well, the question is how long must the individual databases retain
> state with which to answer "recover" requests. I don't like "forever",
> so I'm proposing that there should be an explicit command to say "you
> can forget about this gid".

I think it would be ok to forget the gid after:
1. the same TX manager session sends the next statement (maybe only BEGIN?)
2. the TX manager session is explicitly disconnected (do we know the difference
to an aborted connection ?)

>
> Note that this is only really necessary because of Heikki's choice to
> make the API work in terms of a user-assigned GID.

This was not an arbitrary choice, but is required by most/all TX managers :-(
I agree that it would be cleaner for the tx manager to keep such a map.
Maybe the idea was for the gid's to be human readable since human intervention
is rarely but still required with 2PC, especially in the case where the tx manager
is unavailable/unrecoverable.

Andreas

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2004-10-07 09:30:25 Re: database constraints
Previous Message Simon Riggs 2004-10-07 07:38:38 Re: PITR question