Heikki Linnakangas wrote:
> On Thu, 7 Oct 2004, Oliver Jowett wrote:
>
>> Probably the next question is, do we want a database-side timeout on
>> how long prepared txns can stay alive before being summarily rolled back?
>
>
> That sounds very dangerous to me. You could end up breaking global
> atomicity if some other resource in the global transaction committed.
Right. You wouldn't enable it lightly..
> The transaction monitor can do timeouts if necessary, and a super user
> has to resolve the in-doubt transactions if the TM crashes non-recoverably.
Some systems may prefer short-term availability over atomicity. Putting
a human in the loop when doing recovery hurts your availability.
If pg_prepared_xacts had a time-of-preparation column, it would be
possible to put the timeout policy in an external client. Perhaps that's
a better solution?
-O