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: New Issue - orphaned IMA in compensationHandler


Title: New Issue - orphaned IMA in compensationHandler

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.

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.



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