[rules-users] Help with MR3

Mark Proctor mproctor at codehaus.org
Tue Jul 3 18:08:43 EDT 2007


increase your perm gen space,or use the MVEL dialect with code 
generation off.

Mark
s erel wrote:
> Hello,
>  
> During capacity tests we've received permGen OOM exception. The 
> occupied space in the permGen area increases rapidly. Any opinions?
>
>
> On 7/3/07, *s erel* <erelsagi at gmail.com <mailto:erelsagi at gmail.com>> 
> wrote:
>
>     In our project we are creating a StatefulRuleSession and saving it
>     in a per-thread context (i.e. Each thread has it's own
>     StatefulRuleSession):
>      
>     ruleServiceProvider.getRuleRuntime().createRuleSession(contextName,
>     properties, RuleRuntime.STATEFUL_SESSION_TYPE);
>      
>     When a thread session ends, we are calling release on the
>     previously created StatefulRuleSession.
>      
>      
>     Changing the following lines:
>      
>
>     public abstract class AbstractHashTable
>       
>
>     ...
>
>         public Iterator iterator() {
>     //        if ( this.iterator == null ) {
>     //            this.iterator = new HashTableIterator( this );
>     //        }
>     //
>     //        this.iterator.reset();
>     //        return this.iterator;
>
>             HashTableIterator iterator = new HashTableIterator(this);
>             iterator.reset();
>
>             return iterator;
>         }
>
>     Seems to solve the problem I've encountered. What's your opinion?
>
>      
>     On 7/2/07, *Mark Proctor* <mproctor at codehaus.org
>     <mailto:mproctor at codehaus.org>> wrote:
>
>         a working memory should be single threaded, so not sure how
>         this could be a race condition?
>
>         Mark
>
>         s erel wrote:
>>         I've done a little debugging. The code fails in the following
>>         segment:
>>          
>>         public static class HashTableIterator
>>         ...
>>          while ( this.entry == null ) {
>>                             this.row++;
>>                             if ( this.row == this.length ) {
>>                                 return null;
>>                             }
>>                             this.entry = this.table[this.row]; *//
>>         ---> index out of bounds exception*
>>                         }
>>         }
>>          
>>         this.row has the same value as this.length despite the
>>         condition above it. Probably a race condition issue.
>>
>>          
>>         On 7/2/07, *Mark Proctor* <mproctor at codehaus.org
>>         <mailto:mproctor at codehaus.org>> wrote:
>>
>>             Not really :(
>>
>>             In your situation I tend to keep removing rules and data
>>             while still making sure the error happens, to get it down
>>             to a minimum. Please do try, as this isn't an error that
>>             should happen. Or alterntaively you can open drools-core
>>             and drools-compiler in eclipse and execuse and debug this
>>             yourself - in your situation this might best. you can put
>>             in a breakpoint to listen for that particular exception.
>>
>>             Mark
>>
>>             s erel wrote:
>>>             It's hard for me to provide a self contained project.
>>>             The drl is long and uses several business objects. It's
>>>             the same drl as we've been using for 306 minus the
>>>             keyword changes.
>>>             Is there anything else i can check or provide you in
>>>             order to solve this matter.
>>>              
>>>             Thanks
>>>              
>>>             On 7/1/07, *Mark Proctor* <mproctor at codehaus.org
>>>             <mailto:mproctor at codehaus.org>> wrote:
>>>
>>>                 Can you provide us a self contained project which
>>>                 creates this error? Unless we can recreate it, it
>>>                 will be very hard to track it down. Please attach
>>>                 the project to a jira and we'll make it a priority.
>>>
>>>                 Mark
>>>                 s erel wrote:
>>>>                 Hello,
>>>>                  
>>>>                 I've just started integrating MR3 into my project
>>>>                 (I've previously used 3.06). The drl compiles and
>>>>                 everything seems fine, but during
>>>>                 tests the following exception is thrown for time to
>>>>                 time:
>>>>                  
>>>>                 java.lang.ArrayIndexOutOfBoundsException: 17
>>>>                  at
>>>>                 org.drools.util.AbstractHashTable$HashTableIterator.next(AbstractHashTable.java:250)
>>>>                  at
>>>>                 org.drools.reteoo.Rete$ObjectTypeConf.buildCache(Rete.java:434)
>>>>                  at
>>>>                 org.drools.reteoo.Rete$ObjectTypeConf.getObjectTypeNodes(Rete.java:425)
>>>>                  at org.drools.reteoo.Rete.assertObject(Rete.java:172)
>>>>                  at
>>>>                 org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
>>>>                  at
>>>>                 org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute
>>>>                 (ReteooWorkingMemory.java:163)
>>>>                  at
>>>>                 org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1135)
>>>>                  at
>>>>                 org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:781)
>>>>                  at
>>>>                 org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:584)
>>>>                  at
>>>>                 org.drools.jsr94.rules.StatefulRuleSessionImpl.addObject(StatefulRuleSessionImpl.java:162)
>>>>                  
>>>>                 This only happens during high load tests.
>>>>                 Can anyone help me?
>>>>                  
>>>>                 Thanks
>>>>                  
>>>>                 ------------------------------------------------------------------------
>>>>
>>>>                 _______________________________________________
>>>>                 rules-users mailing list
>>>>                 rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>>>>                 https://lists.jboss.org/mailman/listinfo/rules-users
>>>>                   
>>>
>>>                  
>>>
>>>                 _______________________________________________
>>>                 rules-users mailing list
>>>                 rules-users at lists.jboss.org
>>>                 <mailto:rules-users at lists.jboss.org>
>>>                 https://lists.jboss.org/mailman/listinfo/rules-users
>>>                 <https://lists.jboss.org/mailman/listinfo/rules-users>
>>>
>>>
>>>             ------------------------------------------------------------------------
>>>
>>>             _______________________________________________
>>>             rules-users mailing list
>>>             rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>>>             https://lists.jboss.org/mailman/listinfo/rules-users
>>>               
>>
>>
>>             _______________________________________________
>>             rules-users mailing list
>>             rules-users at lists.jboss.org
>>             <mailto:rules-users at lists.jboss.org>
>>             https://lists.jboss.org/mailman/listinfo/rules-users
>>             <https://lists.jboss.org/mailman/listinfo/rules-users>
>>
>>
>>         ------------------------------------------------------------------------
>>
>>         _______________________________________________
>>         rules-users mailing list
>>         rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>>         https://lists.jboss.org/mailman/listinfo/rules-users
>>           
>
>
>         _______________________________________________
>         rules-users mailing list
>         rules-users at lists.jboss.org <mailto:rules-users at lists.jboss.org>
>         https://lists.jboss.org/mailman/listinfo/rules-users
>         <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/20070703/3d086b6e/attachment.html 


More information about the rules-users mailing list