[ https://issues.apache.org/jira/browse/ODE-1066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sathwik Bantwal Premakumar updated ODE-1066: -------------------------------------------- Attachment: FlightReservationProcess-parallel-scopes.zip Igor, Kindly find the attached FlightReservationProcess-parallel-scopes.zip which has a parallel execution of the compensating scopes. I don't have a ready system to test at the moment. Can you please verify your patch for the issue 1) Also, the compensation should be in the reverse order of execution of the scopes. Default execution of CH in case of original FlightReservationProcess If scopes execute in this order ReserveCarScope ReserveHotelScope ReserveAbstractScope Then, CH should be executed in this order ReserveAbstractCompensation ReserveHotelCompensation ReserveCarCompensation When consurrent execution of scopes as in FlightReservationProcess-parallel-scopes.zip the order doesn't matter. thanks, 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-parallel-scopes.zip, > 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)