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'.