[rules-users] DROOLS 5.6.0 Final Decision Table PermGen space OutOfMemoryError

Mark Proctor mproctor at codehaus.org
Sat Aug 16 11:58:29 EDT 2014


try increasing your perm gen space.

Mark
On 16 Aug 2014, at 04:11, Jan Rose <ufos at comcast.net> wrote:

> Would like some advice regarding using Decision Tables in DROOLS 5.6.0 Final.  We have decision tables with over 12,000 rows.   It is a basic ‘look-up’ table with 3 conditions and 2 actions.  The conditions are, for example:   Company = X Dept = X   Class = X then value = X and log X.   When I reduced the number of rows to approx. 500 . .. it works.
> I have set the max memory in the JVM to 2 gigs.   We have tried compiling the decision tables using the spreadsheet compiler as well as the decision table compiler.
> Below is the error when using the decision table compiler.   However, we get the same PermGen space error with the spreadsheet compiler.
>  
> Obviously, we need to be able to have more than 500 rows in our decision table(s).    Any advice would be appreciated.
>  
> Aug 14, 2014 6:33:09 PM com.macys.test.rules.engine.AttribDecisionTbl main 
> INFO: found file:c:\attribute-data.xls 
> Aug 14, 2014 6:33:10 PM com.macys.test.test_drools.RuleRunner loadRules 
> INFO: Loading file: log-rules.drl 
> Aug 14, 2014 6:33:10 PM com.macys.test.test_drools.RuleRunner loadRuleFile 
> INFO: found rule file:log-rules.drl 
> Aug 14, 2014 6:33:11 PM com.macys.test.test_drools.RuleRunner loadRules 
> INFO: Loading file: AttributeRules-MDSLife-V1.xls 
> Aug 14, 2014 6:33:11 PM com.macys.test.test_drools.RuleRunner loadExcelRules 
> INFO: found file:AttributeRules-MDSLife-V1.xls 
> Exception in thread "main" java.lang.OutOfMemoryError: PermGen space 
>         at java.lang.ClassLoader.defineClass1(Native Method) 
>         at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
>         at org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(JavaDialectRuntimeData.java:624) 
>         at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:254) 
>         at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237) 
>         at org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88) 
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
>         at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:434) 
>         at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:429) 
>         at org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(JavaDialectRuntimeData.java:257) 
>         at org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistry.java:139) 
>         at org.drools.compiler.PackageBuilder.reloadAll(PackageBuilder.java:1202) 
>         at org.drools.compiler.PackageBuilder.compileAllRules(PackageBuilder.java:951) 
>         at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:938) 
>         at org.drools.compiler.PackageBuilder.addPackageFromDecisionTable(PackageBuilder.java:451) 
>         at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:715) 
>         at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51) 
>         at com.macys.test.test_drools.RuleRunner.loadExcelRules(RuleRunner.java:161) 
>         at com.macys.test.test_drools.RuleRunner.loadRules(RuleRunner.java:53) 
>         at com.macys.test.test_drools.RuleRunner.runStatelessRules(RuleRunner.java:217) 
>         at com.macys.test.rules.engine.AttribDecisionTbl.main(AttribDecisionTbl.java:99) 
> 
> 
> _______________________________________________
> 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/20140816/e86011b7/attachment-0001.html 


More information about the rules-users mailing list