Amit Mhatre wrote:
Hi,
 this might either be a java-users questions or a drools-users, but I'd like to try here to see if somebody has any suggestions for me.

 I have observed that the ruleFlow that I am using gets slower and slower since its initial deployment. It initially started taking like 30mins to evaluate all the rules, but the run-time goes up to about 4hours in about 4 days.

 I am using a statelessSession. I do a RuleBaseFactory().newRuleBase() and ruleBase.newStatelessSession() each time I begin an evaluation (I evaluate about 50k objects, once a day). I have the ruleBase as a private instance in an EvaluationHandler which does other evaluations as well and is a singleton which is obtained from a factory.

 Has anyone else too on this forum faced this issue? I found this archive, but no reply to it: http://www.nabble.com/Performance-Question-with-Stateless-Session-to14704425.html#a14704425

 Could it be that a new ruleBase is being created each time I do an evaluation (it obviously is), but a reference to the old ruleBase still hangs around (and hence the entire WorkingMemory)? I checked the RuleBase apis and I couldn't find anything that could help me clear the workingMemory once I am done with evaluating all the rules.

 Would be great if somebody could ched some light into this issue that I am facing and/or let me know the path I must follow to find the root-cause of the slowing down of the evaluations.
Add the drools source code to your classpath and see what's going on when it uses stateless sessions. I'd also recommend you install a free jprofiler trial, it'll help pin point any memory leaks. When you find it please open a jira with a test for that leak.

 Thanks,
- am


_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users