OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [wsbpel] Fault in Compensation


Alex, Satish, Dieter, Danny

Thank you for your replies.
Now I think I understand it.

Yuzo Fujishima
NEC Corporation

Danny van der Rijn wrote:
>   Your answers match with my recollection, Alex.
> 
> Alex Yiu wrote:
>>
>> Hi Yuzo,
>>
>> This question falls into Issue 226 domain.
>> The resolution of Issue 226 needs to be able to answer your question 
>> clearly.
>> (I will forward this email to issue 226 thread later.)
>>
>> My current interpretation:
>> *Q1:* No there will not be the second invocation of CH1. Once the 
>> compensation handler of a completed scope got faulted, the whole scope 
>> also considered faulted (maybe we can come up with a more specialized 
>> term for that). (We need a life cycle diagram of "scope" here in the 
>> spec) The CH of such a scope should be uninstalled. (Because, if not 
>> uninstalled, the CH may be in a strange inconsistent state, where the 
>> CH logic may executed incorrectly, if it got executed twice.)
>> *Q2:* Yes, the T1 should be propagated to S2 and handled by F2.
>>
>>
>> Dieter and Satish, if my interpretation is different from yours and 
>> your collection of the preliminary direction discussed in Redmond F2F, 
>> please let me know.
>>
>>
>> Thanks!
>>
>>
>> Regards,
>> Alex Yiu
>>
>>
>>
>> Yuzo Fujishima wrote:
>>> Hi,
>>>
>>> I have yet other questions regarding compensation.
>>> Could someone help me answer to them?
>>>
>>> Suppose we have a process as below:
>>>
>>> process P1
>>>  faultHandler F0 to catch T1
>>>  flow
>>>    scope S1
>>>      faultHandler F1 to catch T2
>>>        scope S2
>>>          faultHandler F2 to catch T1
>>>          compensate CA1
>>>      sequence
>>>        while
>>>          scope S3
>>>            compensationHandler CH1
>>>              throw T1
>>>        throw T2
>>>    scope S4
>>>
>>> Further suppose that
>>>  S3 is successfully completed two times,
>>>  T2 throws a fault,
>>>  F1 catches the fault, and then
>>>  CA1 is executed.
>>>
>>> What is expected to happen next is that CH1 is called twice,
>>> once for each successful completion.
>>>
>>> But what will happen if T1 throws a fault in the first
>>> invocation of CH1?
>>>
>>> Q1: Will there be the second invocation of CH1?
>>>
>>> Q2: Will the fault be propagated to CA1 then to S2?
>>>    Or S3, S1 (FH uninstalled), then to P1?
>>>    In other words, which will catch T1, F2 or F0?
>>>
>>> Yuzo Fujishima
>>> NEC Corporation
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe from this mail list, you must leave the OASIS TC that
>>> generates this mail.  You may a link to this group and all your TCs 
>>> in OASIS
>>> at:
>>> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
>>
> --------------------------------------------------------------------- To 
> unsubscribe from this mail list, you must leave the OASIS TC that 
> generates this mail. You may a link to this group and all your TCs in 
> OASIS at: 
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]