]
Mark Proctor commented on JBRULES-1804:
---------------------------------------
Before the first logical insertion we make a copy of the current LogicalDependencies. For
each logical insertion we check the copied list and if it exists we remove it and just add
it back onto the current activation. After the rule has fired we cancel any remaining
LogicalDependencies.
Logical dependencies accumulate on recursion
--------------------------------------------
Key: JBRULES-1804
URL:
https://jira.jboss.org/jira/browse/JBRULES-1804
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core (expert)
Affects Versions: 5.0.0.M2
Reporter: Geoffrey De Smet
Assignee: Edson Tirelli
Priority: Critical
Fix For: 5.1.0.M2
This one got me headscratching for a while, untill I realized what the problem is.
Tim reported on the mailing list he ran into it to.
I've commmited a testcase in subversion, in TruthMaintenanceTest, called
disabled_testLogicalInsertionsModifySameRuleGivesDifferentLogicalInsertion
Remove the "disabled_" to enable it and try it out.
Here's what happens in the testcase:
3 sensors with tempature 100, 200 and 200 are inserted.
There's a rule which logically inserts all encountered tempatures, so 100 and 200.
Then the first sensor modifies to a tempature of 150.
As it turns out, the encoutered tempatures should be 150 and 200 now, but instead
it's 100, 150 and 200.
Even though there is no sensor that has a tempature of 100.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: