BizTalk Server Orchestration - Rollback in long-running transactions

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > September 2005 > Rollback in long-running transactions





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Rollback in long-running transactions
Theo

2005-09-30, 5:53 pm

Hi!

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?

I tried to find an article about these issues but found no satisfactory one.
There is a lot about atomic transactions but not much about long-running. Or
maybe you know a good site or a good article about this?

Thanx!

//theo
Tomas Restrepo \(MVP\)

2005-09-30, 5: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/


Theo

2005-09-30, 5:53 pm

Thanks, now it's clear!

"Tomas Restrepo (MVP)" wrote:

> Theo,
>
>
> 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/
>
>
>

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com