[rules-users] "From" clause and connection time outs - suggestion

Arjun Dhar dhar_ar at yahoo.com
Mon Aug 13 23:14:54 EDT 2007


Hi,
 in a load intensive operation, if a pool of JDBC connections is exausted 
the 'from' breaks. Ok, it should! (Not expecting magic :o) ) ,.. but I'm 
concerned about the trace it generates.

The stack trace does not suggest the ground reality and is very abstract. Can 
you have an enhacement to wrap the actual exception or atleast say somewhere 
he "from" failed? 

org.mvel.MVEL.executeExpression(MVEL.java:219)
org.drools.base.dataproviders.MVELDataProvider.getResults
(MVELDataProvider.java:45)

... I could figure out from the following lines what was wrong, but someone 
else may not be able to figure it out. It's not that big a deal, but just a 
suggestion since I think in high load conditions this would be a common error.

Full trace below
===============
java.lang.reflect.InvocationTargetException
org.mvel.optimizers.impl.refl.MethodAccessor.getValue(MethodAccessor.java:54)
org.mvel.optimizers.impl.refl.VariableAccessor.getValue
(VariableAccessor.java:39)
org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:174)
org.mvel.MVELRuntime.execute(MVELRuntime.java:87)
org.mvel.CompiledExpression.getValue(CompiledExpression.java:98)
org.mvel.MVEL.executeExpression(MVEL.java:219)
org.drools.base.dataproviders.MVELDataProvider.getResults
(MVELDataProvider.java:45)
org.drools.reteoo.FromNode.assertTuple(FromNode.java:61)
org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple
(SingleTupleSinkAdapter.java:20)
org.drools.reteoo.JoinNode.assertTuple(JoinNode.java:120)
org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple
(SingleTupleSinkAdapter.java:20)
org.drools.reteoo.JoinNode.assertObject(JoinNode.java:162)
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject
(CompositeObjectSinkAdapter.java:317)
org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:130)
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject
(CompositeObjectSinkAdapter.java:308)
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:168)
org.drools.reteoo.Rete.assertObject(Rete.java:168)
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:848)
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:822)
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:623)
org.drools.reteoo.ReteooStatelessSession.execute
(ReteooStatelessSession.java:135)
com.gryphonnetworks.brms.sessions.RulesEngineSessionJBossRules4.execute
(RulesEngineSessionJBossRules4.java:113)




More information about the rules-users mailing list