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