[rules-users] Drools Planner 5.5.0.Final Memory corruption issues + mvel2 optimizer exception

duggal vikramvirsinghduggal at yahoo.com
Sun Feb 17 04:15:56 EST 2013


The problem is fixed now. I am summarizing the resolution to provide closure
to this post.

Problem 1 - MVEL2 optimizer exceptions:
While using Planner 5.5.0.FINAL, I was invoking varargs method in my DRL
files. There is a known bug in the MVEL2 version used in 5.5.0.FINAL (see
https://issues.jboss.org/browse/DROOLS-11) for varargs methods.
I had tried to workaround this bug by invoking the varargs method as follows
-
clause.evaluate(new Object[] {$task, $resource, $group1, $group2}).
While this worked well in 5.5.0.FINAL, it resulted in the exceptions (see
original post) in the log.
Fix 1 - After upgrading to 5.5.1-SNAPSHOT, the MVEL2 library got upgraded to
the varargs fixed version MVEL2.1.4.Final. I changed the DRL varargs method
call as follows -
clause.evaluate($task, $resource, $group1, $group2)
The exceptions were then removed from the file.

Problem 2 - Memory corruption issues.
The corruption of the problem facts data structure was INPUT to the Drool
Planner and hence not caused by  the Planner library.
The issue that I identified in my code was a due to a bug in the custom
serialization code between client and server.
Fix 2 - Fixed the bug in custom serialization code. NO ISSUE IN PLANNER.




--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Planner-5-5-0-Final-Memory-corruption-issues-tp4022227p4022355.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list