Bug 724226 (BRMS-170) - XOR Split not working properly inside CompositeNode
Summary: XOR Split not working properly inside CompositeNode
Keywords:
Status: CLOSED NEXTRELEASE
Alias: BRMS-170
Product: JBoss Enterprise BRMS Platform 5
Classification: JBoss
Component: unspecified
Version: unspecified
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
: 5.0.1
Assignee: Kris Verlaenen
QA Contact:
URL: http://jira.jboss.org/jira/browse/BRM...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-07 14:36 UTC by nwallace
Modified: 2009-10-01 01:05 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
java.version = 1.6.0_11 java.vm.name = Java HotSpot(TM) Client VM Windows Vista Service Pack 1
Last Closed: 2009-09-01 12:24:36 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker BRMS-170 0 None None None 2014-03-10 05:22:30 UTC

Description nwallace 2009-07-07 14:36:20 UTC
Date of First Response: 2009-09-10 01:14:26
securitylevel_name: Public


If XOR Split node is used inside CompositeNode the following exception occurs regardless of the fact that at least one outgoing condition _is_ fulfilled:

java.lang.IllegalArgumentException: XOR split could not find at least one valid outgoing connection for split Split
	at org.drools.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:72)
	at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:111)
	at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:141)
	at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:128)
	at org.drools.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:62)
	at org.drools.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:58)
	at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:111)

The accompanying attachment 'drools-xor-bug.zip' contains an example that reproduces the problem. 

Zip file contains the eclipse project - simply import it in Eclipse and run com.sample.RuleFlowTest.java.

There are two .rf files. normalXOR.rf contains a working process, using XOR Split outside of CompositeNode. weirdXOR.rf contains the same XOR Split branching and outgoing constraints, but is positioned within CompositeNode.

RuleFlowTest first successfully executes normalXOR flow, then fails while executing weirdXOR flow.

Comment 1 nwallace 2009-07-07 14:37:38 UTC
Link: Added: This issue is related to JBRULES-2054


Comment 2 nwallace 2009-09-01 12:24:36 UTC
Fix in place.

Comment 3 David Le Sage 2009-09-10 05:14:26 UTC
For documenting this in the Release Notes, can you please confirm the following and fill in the missing information. Dot point explanations are fine:

The CAUSE (what was actually broken)
 * the "XOR split" functionality inside the CompositeNode was not working properly. 

CONSEQUENCES of the bug (how it impacts users.)
 * 

The FIX (what was changed to eliminate this bug) and 
 * 

RESULTS of the fix (what now happens for users.)
 * The generation of rules for nested nodes has been fixed

Comment 4 David Le Sage 2009-09-23 05:37:49 UTC
We are still awaiting the outstanding information for the Release Notes on this one.  Please provide it as soon as possible. Thanks.

Comment 5 Kris Verlaenen 2009-09-23 13:03:50 UTC
The CAUSE (what was actually broken)
 * the "XOR split" functionality inside the CompositeNode was not working properly.

CONSEQUENCES of the bug (how it impacts users.)
 * usage of an XOR split inside a composite node could lead to unexpected results

The FIX (what was changed to eliminate this bug) and
 * XOR split now takes into account it can be part of a nested node

RESULTS of the fix (what now happens for users.)
 * The generation of rules for nested nodes has been fixed 


Note You need to log in before you can comment on or make changes to this bug.