Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1191768

Summary: Process with subprocess marked for compensation fails to deploy on BPMS 6.1.0.ER4
Product: [Retired] JBoss BPMS Platform 6 Reporter: Bernard Tison <btison>
Component: jBPM CoreAssignee: Alessandro Lazarotti <alazarot>
Status: CLOSED EOL QA Contact: Marek Baluch <mbaluch>
Severity: high Docs Contact:
Priority: high    
Version: 6.1.0CC: kverlaen, mbaluch, wsiqueir
Target Milestone: ER6   
Target Release: 6.1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1250714 (view as bug list) Environment:
Last Closed: 2020-03-27 20:11:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1250714    
Attachments:
Description Flags
Process kjar none

Description Bernard Tison 2015-02-11 22:26:39 UTC
Created attachment 990672 [details]
Process kjar

Description of problem:

A process with a subprocess marked for compensation (isForCompensation=true) fails to deploy on BPMS 6.1.0.ER4. It deploys ok on BPMS 6.3.0.GA.


Version-Release number of selected component (if applicable): BPMS 6.1.0.ER4


How reproducible: Always reproducible


Steps to Reproduce:
1. deploy the attached kjar on BPMS 6.1.0.ER4 (GAV: org.jboss.btison.bpms.testbed.compensation:process-kjar:0.0.1)


Actual results:

Deployment fails.
Error in the log:
Error: Process 'User Task Compensation' [UserTaskCompensation]: Embedded subprocess 'Sub Process 1' [8] does not have outgoing connection.


Expected results:
Deployment succeeds.
This is a regression compared to BPMS 6.3.0.GA. The kjar deploys successfully on BPMS 6.3.0.GA 

Additional info:

Root cause: class org.jbpm.ruleflow.core.validation.RuleflowProcessValidator, method validateNodes (line 463):
the code checks if the CompositeNode has outgoing connections, and throws an error if none are found. 
If the CompositeNode has metadata 'isForCompensation', the absence of outgoing conmnections should not throw an exception.

Comment 2 Kris Verlaenen 2015-02-12 12:38:22 UTC
Bernard, BPMS 6.3.0.GA doesn't exist, I assume you mean 6.0.3.GA?

Comment 3 Bernard Tison 2015-02-12 14:05:29 UTC
(In reply to Kris Verlaenen from comment #2)
> Bernard, BPMS 6.3.0.GA doesn't exist, I assume you mean 6.0.3.GA?

Yes,it should be 6.0.3.GA.

Comment 4 Maciej Swiderski 2015-02-12 16:19:32 UTC
fixed validation to take into consideration isForCompensation flag

jbpm
master:
https://github.com/droolsjbpm/jbpm/commit/2cecbdf28a5301dbad168619535255607e73493e

6.2.x:
https://github.com/droolsjbpm/jbpm/commit/fdf0179fe4e89f103b8d54b790036ce7439f0364

Comment 5 Jiri Svitak 2015-03-12 14:34:33 UTC
Verified in BPM Suite 6.1.0.ER6.

QE test coverage:
https://gitlab.mw.lab.eng.bos.redhat.com/bxms/brms/commit/21459c35a4605dd508453548c31cab1f2431ae28