[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [wsbpel] Fault in Compensation
This is also how I interpreted the results of the f2f discussion. The fault within the compensation handler is caught by the fault handler F2 of scope S2. All other instances of compensation handler CH1 called by the compensate activity CA1 get the termination signal, and all instances of compensation handler CH1 get uninstalled. We talked explicitly about CH in event handlers and parallel forEach activities, however, this way of treating instances of CH as a unit has the same result for CH in sequential loops. As I am still working on text for the 207/216/226 family of CH-related issue resolutions, I would generalize this behavior, including while, repeatUntil, and sequential forEach as well. Ok? Kind Regards DK "Satish Thatte" <satisht@microsof t.com> To "Alex Yiu" <alex.yiu@oracle.com>, 01.11.2005 07:05 "Yuzo Fujishima" <fujishima@bc.jp.nec.com> cc "ws bpel tc" <wsbpel@lists.oasis-open.org>, Dieter Koenig1/Germany/IBM@IBMDE Subject RE: [wsbpel] Fault in Compensation See below From: Alex Yiu [mailto:alex.yiu@oracle.com] Sent: Monday, October 31, 2005 8:57 PM To: Yuzo Fujishima Cc: ws bpel tc; 'Dieter Koenig1'; Satish Thatte Subject: Re: [wsbpel] Fault in Compensation 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.) [Satish] This is correct and I believe it is explicitly stated in the resolution of 226. 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
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]