09-30-05 10:53 PM
Theo,
> I have a general question about long-running transactions. In case
> something
> goes wrong and there is no exception handler or compensation block, what
> happens with the committed operations? Are they rolled back? What happens
> with the operations not yet committed? If there is an exception handler
> but
> no compensation block, how does it change the situation?
No, they are not rolled back (there is no transaction coordinator behind
that works as DTC transaction does. If you are using long running
transactions, you *need* to write compensating actions to undo them in case
of failure. That's the whole poing.
The exception handler itself might let the process keep running, but usually
what you want to do is from the exception handler use the Compensate shape
to trigger compensation blocks for specific scopes, thus undoing the
transaction.
--
Tomas Restrepo
tomasr@mvps.org
http://www.winterdom.com/
[ Post a follow-up to this message ]
|