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

Sathwik Bantwal Premakumar commented on ODE-1066:
-------------------------------------------------

Igor,

There are some concerns in the patches.

1)  You are spot on with the identification of the problem. 
Though the changes proposed in the patch file 
ODE-1066-CompensationHandler.patch might work for the attached process but may 
not work when the scope activities are executing in parallel (Ex: <foreach 
parallel=yes>, <flow>), in which case the start time might be the same. Can you 
provide an improved version of the patch.

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.

Kindly let me if my understanding on the patches are inadequate.

regards,
sathwik




> 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
>         Attachments: FlightReservationProcess.zip, 
> ODE-1066-CompensateGenerator.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
(v6.3.15#6346)

Reply via email to