Subject | RE: [firebird-support] What happened to opened transaction if the client is abnormally disconnected? |
---|---|
Author | Helen Borrie |
Post date | 2004-11-28T07:36:27Z |
At 05:59 PM 28/11/2004 +1100, you wrote:
second commit or rollback phases of a multi-database transaction, if the
connection to one or more databases is lost before the second commit or
rollback phase completes.
When clients crash, or applications don't take proper care of transactions
when users log out, the server will eventually detect the lost connection
and any transactions left incomplete will be rolled back There is no more
garbage than usual with rollbacks and it will just be garbage-collected in
the normal course of events.
connection is lost. The server takes care of the abnormal
disconnects. There will be a time-lag during which the unfinished
transactions are just unfinished transactions. The server waits for a
period of time before deciding that a connection is "dead".
,/heLen
> > Hello,No, this isn't correct. Limbo transactions occur between the first and
> >
> > If the client application abnormally disconnected (crashed), what
> > happened to the app's open transaction?
>
>this will result in a transaction in limbo - it has the same effect as a
>rollback but it leaves more garbage for you to clean up.
second commit or rollback phases of a multi-database transaction, if the
connection to one or more databases is lost before the second commit or
rollback phase completes.
When clients crash, or applications don't take proper care of transactions
when users log out, the server will eventually detect the lost connection
and any transactions left incomplete will be rolled back There is no more
garbage than usual with rollbacks and it will just be garbage-collected in
the normal course of events.
> > Will the server automatically rollback the transaction in bothNo. Application interfaces can't auto-rollback transactions if the
> > scenario?
> >
>
>this depends on what component layer you use in your application. Most have
>a default close action - and you can set it to either commit or rollback -
>whichever suits your applciatopin best.
connection is lost. The server takes care of the abnormal
disconnects. There will be a time-lag during which the unfinished
transactions are just unfinished transactions. The server waits for a
period of time before deciding that a connection is "dead".
,/heLen