RE: [wsbpel] Issue - 274 - orphaned IMA in compensationHandler

From
Mark Ford <>
Date
2006-05-04T13:02:00+00:00
ID
Thread
RE: [wsbpel] Issue - 274 - orphaned IMA in compensationHandler
Hi Alex,

 

Thanks for your response. I like your proposal but it has a slight 
difference in the outcome which I think is worth pointing out. I'm CC'ing the 
list to get any other input.

 

Consider a faultHandler that has three <compensateScope> activities 
in it. The first <compensateScope> invokes a compensation handler that for 
whatever reason (modeling error or some other error condition) fails to close an 
IMA it opened. In your scenario, this would be detected at the 
compensationHandler's completion and result in the fault being propagated 
to the FCT Handler, thereby terminating the handler and not invoking the other 
compensateScope activities. This is good in the sense that we detect and handle 
the orphaned reply closer to its source but the side effect is that we will not 
run the additional compensation activities. In my proposal below these 
compensation activities would still run since the check for orphaned IMA's 
wouldn't be done until the originating faultHandler completed. 

 

Also, the language for any propagation of a fault from a 
compensationHandler should mention the source compensation activity as its 
propagation target as opposed to the FCT Handler. I think it is more precise to 
write compensation activity since this compensation activity could have a scope 
around it which would catch any faults and allow the FCT Handler to continue 
execution.

 

 

From: Alex Yiu [mailto:] 

Sent: Thursday, May 04, 2006 1:55 AM
To: Mark 
Ford
Cc: Alex Yiu
Subject: Re: [wsbpel] Issue - 274 - 
orphaned IMA in compensationHandler

Hi 
Mark, 

+1 to open this issue.
Generally speaking, I would agree with 
your high level proposal.

How about refining your proposal as 
follows:
--------------------------
The same checking of orphaned IMA’s is 
performed, after the activity of a compensation handler have completed without 
any unhandled fault. If any orphaned IMA’s are detected, a bpel:missingReply 
fault MUST be propagated to the invoking FCT-handler and those IMA’s are no 
longer considered orphaned.

If a unhandled fault different from 
bpel:missingReply occurs during the execution of the compensation handler, that 
fault is propagated to the invoking FCT-handler. The checking for orphaned IMA's 
is deferred to the invoking FCT-handler. The orphaned IMA's, if any resulted 
from the execution of the compensation handler, remain as such. 

--------------------------

A longer proposal than yours, but at the 
same time, it allows us to have a finer grain control missing replies. 

What do you think? 

Regards,
Alex 
Yiu

ws-bpel issues list editor wrote: 

  
This issue has been added to the wsbpel issue list with a status of 
  "received". The status will be changed to "open" if a motion to open the issue 
  is proposed and that motion is approved by the TC. A motion could also be 
  proposed to close it without further consideration. Otherwise it will remain 
  as "received". 

  
The issues list is posted as a Technical Committee document to the OASIS WSBPEL TC 
  pages on a regular basis. The current edition, as a TC document, is the 
  most recent version of the document entitled in the "Issues" folder of the WSBPEL 
  TC document list - the next posting as a TC document will include this 
  issue. The list editor's working copy, which will normally include an issue 
  when it is announced, is available at this 
  constant URL. 

  Issue - 274 - orphaned IMA in compensationHandlerStatus: 
  received
Date added: 2 May 2006
Date submitted: 02 May 
  2006
Submitter: Mark 
  Ford
Description: Section 12 outlines four scenarios for 
  handling the detection and reporting of errors for orphaned IMA's 
  
1. Normal scope completion - scope activity and event handlers complete 
  normally. The engine MUST check for orphaned IMA's within the completing scope 
  and fault itself with a bpel:missingReply if found. 

  
2. Fault handler completion without fault or rethrow. The engine MUST check 
  for ophaned IMA's within the completing scope and fault its parent scope with 
  a bpel:missingReply if orphaned IMA's found. 

  
3. Fault handler completion with fault or rethrow. The engine MUST NOT 
  check for orphaned IMA's. It is the responsibility of the parent scope to 
  check for the orphaned IMA's and report them. 

  
4. Termination handler completion. Same as scenario 3. 

  
The above scenarios do not address a compensationHandler that completes 
  with orphaned IMA's. In this scenario, a compensation handler opens an IMA as 
  part of its execution using a partnerLink or messageExchange declared within 
  its associated scope. At the time the compensationHandler completes it fails 
  to reply to the open IMA which makes the IMA an orphan.
Submitter's 
  proposal: My proposed resolution is to have the fault handler or 
  termination handler that started the compensation routine responsible for 
  handling the orphaned IMA's as outlined in the existing bullets. This could be 
  made explicit as a new bullet or as a clarifying statement following the 
  bullets. I propose adding a 5th bullet as follows. 

  
    
      
orphaned IMA's created by the execution of a compensation handler are 
      detected or processed by the compensation handler's calling fault handler 
      or termination handler as outlined above. 
  

Changes: 2 May 2006 - new issue

  

  
To comment on this issue (including whether it should be accepted), please 
  follow-up to this announcement on the  list 
  (replying to this message should automatically send your message to that 
  list), or ensure the subject line as you send it starts "Issue - 274 - 
  [anything]" or is a reply to such a message. If you want to formally propose a 
  resolution to an open issue, please start the subject line "Issue - 274 - 
  Proposed resolution", without any Re: or similar. 

  
To add a new issue, see the issues procedures document (but the address for 
  new issue submission is the sender of this announcement). 

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