[
https://issues.jboss.org/browse/DROOLS-1409?page=com.atlassian.jira.plugi...
]
Mario Fusco resolved DROOLS-1409.
---------------------------------
Resolution: Explained
The memberof operator only works with collections (and arrays) and a map is not a
collection. This means that to prevent the infinite loop is enough to apply that operator
on the keys of the map and then replace "FLG1 not memberof matchMap" with
"FLG1 not memberof matchMap.keySet"
Infinite loop when using maps
-----------------------------
Key: DROOLS-1409
URL:
https://issues.jboss.org/browse/DROOLS-1409
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 6.3.0.Final, 6.4.0.Final, 6.5.0.Final
Environment: Windows/Linux /MacOs
Reporter: mourad ouachani
Assignee: Mario Fusco
Priority: Major
Attachments: engineMapBug.zip
Infinite loop when using maps instead collections.
The problem appears before the 10th iteration, however if you run it 10 times it could
end properly without infinite loop.
We thought it could be linked to the concurrent access to HashMap and we tried with
concurrent HashMap but still got the same problem.
It could be probably linked to the fact that we use maps not only to store the result of
some rules evaluation but also as a functional way to prevent rule to be fired again (see
rule "FLG1" and the condition "FLG1 not memberof matchMap"
Thanks.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)