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


Hi Chris, if you have a flow with parallel scope activities (S1 and S4),
one of them may terminate unsuccessfully after handling a fault (S1), but
the other one (S4) continues to run normally in parallel.

Kind Regards
DK



                                                                           
             "Chris Keller"                                                
             <chris.keller@act                                             
             ive-endpoints.com                                          To 
             >                         Dieter Koenig1/Germany/IBM@IBMDE    
                                                                        cc 
             04.11.2005 13:48          "'Alex Yiu'" <alex.yiu@oracle.com>, 
                                       "'Danny van der Rijn'"              
                                       <dannyv@tibco.com>, "'Yuzo          
             Please respond to         Fujishima'"                         
               chris.keller            <fujishima@bc.jp.nec.com>, "'Satish 
                                       Thatte'" <satisht@microsoft.com>,   
                                       "'ws bpel tc'"                      
                                       <wsbpel@lists.oasis-open.org>       
                                                                   Subject 
                                       RE: [wsbpel] Fault in Compensation  
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi Dieter,

One question it looks like S1 and S4 are siblings in the flow so shouldn't
S4 be terminated somewhere around steps 9 and 10?

- Chris

-----Original Message-----
From: Dieter Koenig1 [mailto:dieterkoenig@de.ibm.com]
Sent: Friday, November 04, 2005 4:12 AM
To: chris.keller@active-endpoints.com
Cc: 'Alex Yiu'; 'Danny van der Rijn'; 'Yuzo Fujishima'; 'Satish Thatte';
'ws
bpel tc'
Subject: RE: [wsbpel] Fault in Compensation

Just to be sure - my view of the fault/compensation behavior in Yuzo's
example ...

  process P1
    faultHandler F0 to catch T1
    flow
      scope S1
        faultHandler F1 to catch T2
          scope S2
            faultHandler F2 to catch T
            compensate CA1
        sequence
          while
            scope S3
              compensationHandler CH1
                throw T1
          throw T2
      scope S4

... is the following:

(1)  Fault T2 is caught by the fault handler F1 of scope S1
(2)  Scope S2 is executed within fault handler F1
(3)  Compensate activity CA1 is executed
(4)  Fault T1 thrown from an instance of compensation handler CH1
(5)  That instance of scope S3 is considered unsuccessfully terminated
(6)  Fault T1 is propagated back to the calling compensate activity CA1
(7)  Fault T1 is further propagated to the next scope enclosing CA1 that
has a fault handler for T1
     (this is the fault handler F2 on the scope S2)
(8)  All activities within S2 receive the termination signal
     (including all other running CH1 instances called by CA1)
(9)  Now all instances of scope S3 are considered unsuccessfully terminated
(10) Scope S2 is considered unsuccessfully terminated after fault handler
F2 finishes
(11) Fault handler F1 finishes without throwing another fault
(12) Scope S1 is considered unsuccessfully terminated
(13) Scope S4 continues to execute normally (in parallel to all previous
steps)
(14) Process P1 completes normally

In particular, steps (6) and (7) show how the fault T1 is propagated
through the calling compensate activity CA1.

Ok?

Kind Regards
DK




             "Chris Keller"
             <chris.keller@act
             ive-endpoints.com                                          To
             >                         "'Alex Yiu'" <alex.yiu@oracle.com>,
                                       Dieter Koenig1/Germany/IBM@IBMDE
             03.11.2005 22:50                                           cc
                                       "'ws bpel tc'"
                                       <wsbpel@lists.oasis-open.org>,
             Please respond to         "'Yuzo Fujishima'"
               chris.keller            <fujishima@bc.jp.nec.com>, "'Satish
                                       Thatte'" <satisht@microsoft.com>,
                                       "'Danny van der Rijn'"
                                       <dannyv@tibco.com>
                                                                   Subject
                                       RE: [wsbpel] Fault in Compensation










Hi Alex,

That works for me, we should be clear in the specification about that
behavior.

Dieter - will the text you are preparing for 226 mention this fault
propagation?

Thanks,
Chris



From: Alex Yiu [mailto:alex.yiu@oracle.com]
Sent: Thursday, November 03, 2005 4:39 PM
To: chris.keller@active-endpoints.com
Cc: 'ws bpel tc'; 'Yuzo Fujishima'; 'Dieter Koenig1'; 'Satish Thatte';
'Danny van der Rijn'; Alex Yiu
Subject: Re: [wsbpel] Fault in Compensation


Hi Chris,

Just to clarify: when I mentioned "the whole scope also considered
faulted", the scope I am referring is S3. Yes, S4 will continue its
execution, if the fault does not propagate to outside S1 to the process
level.

About the introduction of "failedCompensation", it is related to the fault
encapsulation concept.

Last time, when we discussed similar topic (i.e. whether to use
correlationViolation fault to encapsulate some underlying XPath problem,
e.g. subLanguage fault or selectionFailure fault), the TC seem preferring
the original fault, instead of an encapsulating fault.

Based on that, I would say the original fault "T1" will be propagated from
the compensate  activity "CA1".

Make sense?

Thanks!


Regards,
Alex Yiu




Chris Keller wrote:
Alex,

I have a question about your interpretation specifically the part: "the
whole scope also considered faulted".  In Yuzo's example since presumably
S4
could still be executing shouldn't a fault be propagated to the process so
the process can terminate S4 and then terminate.  Should we introduce a
failedCompensation fault to propagate (if we do can it be caught)?

 - Chris

-----Original Message-----
From: Yuzo Fujishima [mailto:fujishima@bc.jp.nec.com]
Sent: Tuesday, November 01, 2005 10:14 PM
To: ws bpel tc
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



---------------------------------------------------------------------
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]