I am currently converting a Drools 5.5.0 installation to 6.0.1 Final, due to many memory leaks in 5.5.0. Our use case involves a knowledgebase of several thousand rules which are updated at run-time quite frequently. As a result, we have found it necessary to do incremental builds of rules. I based the code for this on the integration tests: https://github.com/droolsjbpm/drools/blob/master/drools-compiler/src/test/java/org/drools/compiler/integrationtests/IncrementalCompilationTest.java
This is working fairly well so far, but while testing, I noticed a fairly severe increase in PermGen heap usage every time I modify my rules. Using jhat and the Eclipse memory analyzer, I was able to track down the source of the problem to a classloader leak in the JavaDialect class. Whenever a rule is added to the JavaDialect, a RuleErrorHandler is added to an internal Map named errorHandlers. Unfortunately, this RuleErrorHandler is never removed, and it contains a reference to a stale PackageClassLoader. I am still working out how to fix this. _______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev