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.
Thanks,
- am