[ 
https://issues.apache.org/jira/browse/ODE-1066?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16926730#comment-16926730
 ] 

Vitaliy Tkachenko commented on ODE-1066:
----------------------------------------

2) For compensating a specific inner scope there is a specific activity 
<compensateScope target="scope-name" />. 
<compensate /> is to execute all immediately enclosed compensation handlers. 
Henceforth the proposed patch ODE-1066-CompensateGenerator.patch is unnecessary.

Sathwik, this fix is for the BPEL 1 not 2 which uses the same "compensate" 
activity with the "scope" attribute instead of the "compensateScope" with the 
"target" attribute used in the BPEL 2.

> Unstable work of compensation activity
> --------------------------------------
>
>                 Key: ODE-1066
>                 URL: https://issues.apache.org/jira/browse/ODE-1066
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3.6
>         Environment: Win7x64, Java 1.8.0_111, Tomcat 7.0.73
>            Reporter: Vitaliy Tkachenko
>            Assignee: Sathwik Bantwal Premakumar
>            Priority: Major
>              Labels: patch-available
>             Fix For: 1.3.8, 1.4
>
>         Attachments: FlightReservationProcess-parallel-scopes.zip, 
> FlightReservationProcess.zip, ODE-1066-CompensateGenerator.patch, 
> ODE-1066-CompensationHandler-working.patch, ODE-1066-CompensationHandler.patch
>
>
> Compensation doesn't work appropriately, there is no guarantee that it will 
> be processed on execution. It doesn't matter which BPEL version is used 
> either 1.1 or 2.0 and which method is used to provide the compensation 
> (either "compensate" or "compensateScope").
> If there are several scopes to compensate the most big chance to work out its 
> compensation handler has the last scope - it fails rarely but scopes defined 
> prior to the last scope have much bigger chances to fail. When compensation 
> fails nothing is seen in the log, it just doesn't work.
> Attaching the FlightReservationProcess application to reproduce the bug.
> Specify "all" in the input to execute compensation for all scopes, call it 
> many times and check how scopes are compensated. Each result 4, 5, 6 must 
> contain "1" if the corresponding scope "car", "hotel" , "asbstract" has been 
> compensated. But in reality the most big probability "abstract" scope has to 
> include "1", it fails having the "0" pretty rarely. But other scopes "car" 
> and "hotel" fail oftenly, only in rare cases they contain "1" as being 
> compensated. You can also play including "car", "hotel", "abs" instead of all 
> to  compensate only specified scopes. E.g. use "car hotel" in the input to 
> compensate these 2 scopes only.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to