]
Mario Fusco resolved DROOLS-752.
--------------------------------
Fix Version/s: 6.3.0.Beta1
Resolution: Done
Fixed by
Incremental update leaks globals
--------------------------------
Key: DROOLS-752
URL:
https://issues.jboss.org/browse/DROOLS-752
Project: Drools
Issue Type: Feature Request
Components: core engine
Affects Versions: 6.2.0.Final
Environment: Mac OS X 10.10.2, Oracle Hotspot 1.7.0_71
Reporter: Duncan Doyle
Assignee: Mario Fusco
Fix For: 6.3.0.Beta1
The incremental update feature of Drools allows me to incrementally update not only the
KieBase, but also the KieSession. I have a use-case where my updated rules have different
globals defined (different classes) than the original rules, with different names.
When I set a global on a KieSession, Drools explicitly checks whether that global is
defined in the KieBase, and if not, it will throw an error. However, when I incrementally
update the KieBase, and a global is removed from the rulebase, that global is not removed
from the MapGlobalResolver map, potentially causing issues (e.g. memory leaks).
When a session is incrementally updated, and globals are no longer defined in the new
rule-base, they should be removed from the MapGlobalResolver.
See reproducer here:
http://www.github.com/DuncanDoyle/drools-incremental-update-globals-leak
Clone the repo and run 'mvn clean test'.