Bug 1025824

Summary: lock-on-active broken
Product: [Retired] JBoss BRMS Platform 6 Reporter: Mario Fusco <mfusco>
Component: BREAssignee: Mario Fusco <mfusco>
Status: CLOSED CURRENTRELEASE QA Contact: Marek Winkler <mwinkler>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.0   
Target Milestone: ER5   
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 20:17:22 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:

Description Mario Fusco 2013-11-01 16:53:12 UTC
lock-on-active is not working as expected.
I seems to work as activation-group.

Works fine with 5.x
Fails with 6.0.0 CR3 and CR4

Fact:

public class Poc implements Serializable {

	private static final long serialVersionUID = 1L;

	private long id = 1;
	private boolean test1 = false;
	private boolean test2 = false;
	private int foundTest = 0;
...
}

Rule:

rule "test1"
lock-on-active 
dialect "mvel"
    when
    	$poc:Poc( isTest1() )
    then
    	System.out.println("test1 found");
    	modify($poc) { setFoundTest($poc.getFoundTest() + 1) }    	
end


rule "test2"
lock-on-active 
dialect "mvel"
    when
    	$poc:Poc( isTest2() )
    then
    	System.out.println("test2 found");
    	modify($poc) { setFoundTest($poc.getFoundTest() + 1) }    	
end

Test:

@Test
public void lockOnActiveTest() {
	// Get the Knowledge base from the DRL file 
	KieSession kSession = getSF();
			
	Poc poc = new Poc();
	poc.setTest1(true);
	poc.setTest2(true);
	
	kSession.insert(poc);
	
	// Fire the rules
	kSession.fireAllRules();
	
	assertTrue("broken",poc.getFoundTest()==2);
	
	// Clean up
	kSession.dispose();
}

Comment 1 JBoss JIRA Server 2013-11-01 16:53:46 UTC
Mario Fusco <mario.fusco> updated the status of jira DROOLS-280 to Resolved

Comment 2 Mario Fusco 2013-11-01 16:54:27 UTC
Fixed by https://github.com/droolsjbpm/drools/commit/1ccbc2013

Comment 4 Marek Winkler 2013-12-13 07:23:21 UTC
Verified on BRMS 6.0.0 ER5.