[rules-users] Migrating from 4.0.7 to 5.4.0.Final

Mark Proctor mproctor at codehaus.org
Tue Jul 3 04:39:02 EDT 2012


We generate a lot more bytecode now, for improved performance execution. 
constraints start of being evaluated dynamically, as they were in 4.0.x, 
after they are executed a certain number of times we emit bytecode to 
allow JIT to provide improved execution times.

Mark


On 29/06/2012 08:19, Jean-Paul Shemali wrote:
> Hi again all,
>
> Am i the only one noting these issues on the version?
> If this is not the right place to discuss this, could someone point me 
> in the right direction (do I enter an issue in JIRA with potential 
> patches, ...)?
>
> Thanks in advance
>
> > Date: Mon, 25 Jun 2012 00:01:16 -0700
> > From: jshemali at hotmail.com
> > To: rules-users at lists.jboss.org
> > Subject: [rules-users] Migrating from 4.0.7 to 5.4.0.Final
> >
> > Hi all,
> >
> > I'm currently in the process of migrating an application using 
> drools 4.0.7
> > to 5.4.0.Final and I've stumbled into a few issues with the new 
> version that
> > I find disturbing:
> >
> > - Our unit tests failed because the JVM ran out of perm gen space, which
> > looks odd as in 4.0.7 we've had quite a margin to start with.
> > - Doing several Yourkit analysis, I finally find classloading leaks:
> > * *org.drools.rule.builder.dialect.asm.ClassGenerator.EMPTY_METHOD_BODY*
> > is a static instance which will hold to the last instance of
> > InternalClassLoader created
> > * *org.drools.rule.constraint.MvelConstraint* uses an ExecutorHolder 
> that
> > spawns daemon threads and keeps them in a pool. Problem is these threads
> > create class loaders, and can only be garbage collected when the thread
> > dies, meaning never in my case...
> > - I've quick fixed both issues, the second one by simply disabling the
> > thread pool.
> > - Once this is done, the perm gen behaves correctly, but the 
> execution times
> > are 2-3 times slower on very large set of rules (~1000). Looking at 
> Yourkit
> > analysis again, I see that the number of classes generated and the 
> perm gen
> > consumption is about 3 times higher in 5.4.0.Final. I honestly don't 
> know
> > how to address this.
> >
> > I've tried to find some other posts concerning these issues, to no 
> avail. I
> > don't see any work around this, short of code changes, and for 
> reducing the
> > number of generated classes I simply have no idea.
> >
> > Please correct me if I am wrong, any help would be greatly appreciated
> >
> > --
> > View this message in context: 
> http://drools.46999.n3.nabble.com/Migrating-from-4-0-7-to-5-4-0-Final-tp4018215.html
> > Sent from the Drools: User forum mailing list archive at Nabble.com.
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120703/adff09a4/attachment.html 


More information about the rules-users mailing list