<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7652.24">
<TITLE>RE : [rules-users] memory leak in 4.0.2</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hello,<BR>
I would like just to add a little remark.<BR>
I took the default drools project in eclipse for version 3.0.6 and 4.0.2 and modified it to call 500000 times the ruleBase.<BR>
Indeed, there is a memory leak. But not only, if you use jconsole and jmx on the JVM, whith drolls 3.0.6 the number of loaded classes increases the first time you call drools and then it satys stable.<BR>
In drools 4.0.2, in statefull session, the numbre of loaded classes goes up to 32000 and the jvm&nbsp; blocks. You just have todisable shadow facts and it works better but still blocks the jvm (I do a working memory dispose).<BR>
Now in drools 4.0.2 with shadow facts disable, the same example with stateless session, the numbre of loaded classes goes up much slower but still evry time you call the execute, new classes are loaded.<BR>
Why in version 3.0.6, calling the working memory and asserting new facts creates new classes for once and in 4.0.2, I have the impression that new classes are created and loaded each time event if the classes represeting the facts are the same. But in stateless, they are then unloaded<BR>
It is a problem. We developpe for a retail customer a loyalty system with drools and in performance tests drools 4.0.2 is a little better but the loading/unloading classes uses a lot of CPU power. Our server is multi-threaded and use one singleton for the RuleBase and when needed, a new working memory (or session) is created.<BR>
And also; in drools 3.0.6, it was only possible to use the serial and parallel Garbage collector and not the concurent one (it was not possible to load all rules and the in the middle there were syntax errors in drl that never happened before).<BR>
in drools 4.0.2, now every thing works. Were there modification on this subject or not ?<BR>
Thanks<BR>
Nicolas Heron<BR>
<BR>
<BR>
-------- Message d'origine--------<BR>
De: rules-users-bounces@lists.jboss.org de la part de Mark Proctor<BR>
Date: mer. 17/10/2007 12:23<BR>
À: Rules Users List; Rules Dev List<BR>
Objet : [rules-users] memory leak in 4.0.2<BR>
<BR>
For stateful sessions a memory leak has been found, and fixed, for 4.0.2<BR>
<A HREF="http://jira.jboss.org/jira/browse/JBRULES-1279">http://jira.jboss.org/jira/browse/JBRULES-1279</A><BR>
<BR>
We will release 4.0.3 early next week that address this issue. Stateless<BR>
sessions are not affected, but if you are using stateful with lots<BR>
sessions on the same rulebase then its recommended you stay with 4.0.1<BR>
until we release 4.0.3 next week.<BR>
<BR>
Mark<BR>
_______________________________________________<BR>
rules-users mailing list<BR>
rules-users@lists.jboss.org<BR>
<A HREF="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</A><BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>