[rules-users] Re: BRMS Server - memory Issue while execution - Critical

Arjun Dhar dhar_ar at yahoo.com
Fri Jul 20 12:57:00 EDT 2007


> QUESTION:: Is the session maintaining references to those objects ever after 
> executing them? Why are the objects not being released? 
> 
> Specially I'd imagine for a STATELESS session (which is what I've set as 
> default).
> 
> Using JMeter this system crashes every time under load, even with a single 
> Thread. Clearly objects are not being released.
> 
> The error I get may help you: (Along with out of memory). This exception only 
> comes under Load conditions.
> Admin:ERROR: [com.myserver.brms.demos.certify.web.servlet.CertifyWebRequests]
> [service] :org.drools.spi.ConsequenceException: java.lang.NullPointerException
> 
> 	at org.drools.common.DefaultAgenda.fireActivation
> (DefaultAgenda.java:501)
> 
> 	at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:461)
> 
> 	at org.drools.common.AbstractWorkingMemory.fireAllRules
> (AbstractWorkingMemory.java:373)
> 
> 	at org.drools.reteoo.ReteooStatelessSession.execute
> (ReteooStatelessSession.java:72)
> 
> 	at com.myserver.brms.sessions.RulesEngineSessionJBossRules4.execute
> (RulesEngineSessionJBossRules4.java:113)
> at 
> 
com.myserver.brms.services.execute.recore.batch.ExecuteSessionBatch.executeBatch
> (ExecuteSessionBatch.java:160)
> 
> Please help me! This is the only downtime issue I face and unfortunatley its 
> the most critical point of failure.


Ok, I think I figured it out. But please confirm.

The Rule Engine Session DOES NOT release objects. (But hten why have a 
Stateless session?) if the duration of use of the session is not going to be 
long?

The solution: Pool the RuleBase and on a request createa freesh session from it 
each time a request comes in!

Let me know if the cocept is sound or what I'm thinking is now correct.

Thanks,
Arjun







More information about the rules-users mailing list