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(a)gmail.com <mailto:erelsagi@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(a)codehaus.org
<mailto:mproctor@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(a)codehaus.org
> <mailto:mproctor@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(a)codehaus.org
>> <mailto:mproctor@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(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
>>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>> <mailto:rules-users@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(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> <mailto:rules-users@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(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org <mailto:rules-users@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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users