]
Abhijit Humbe updated DROOLS-5692:
----------------------------------
Attachment: DoubleNaNIssue.java
Inaccurate rule execution in executable model in RHDM 7
--------------------------------------------------------
Key: DROOLS-5692
URL:
https://issues.redhat.com/browse/DROOLS-5692
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.44.0.Final
Reporter: Abhijit Humbe
Assignee: Mario Fusco
Priority: Major
Attachments: DoubleNaNIssue.java
Model compile generate code that inaccurately fires the rule in comparison to non
executable model code created rulebase or in 6.x.
{code:java}
rule "test_rule"
dialect "java"
when
$nanTest : DoubleNaNTest( $testDouble1 : testDouble1 , $testDouble2 : testDouble2 ,
$testDouble1 + 10 > $testDouble2 , testBoolean!=null, testBoolean==false)
then
System.out.println("rule_a fired ");
$nanTest.setTestBoolean(true);
update($nanTest);
end
DoubleNaNTest nan = new DoubleNaNTest();
nan.setTestBoolean(false);
nan.setTestDouble1(Double.NaN);//Double.NaN
nan.setTestDouble2(100.0);
KieSession ksession = sumKieBaseShort.newKieSession();
ksession.insert(nan);
{code}
Expected:
Above rule should not fired in executable model.
Actual result:
Above rule fired in executable model.