[rules-users] Drools Concurrent Execution causes Blocked Threads

lalit2583 lalit2583 at gmail.com
Wed Aug 21 04:42:40 EDT 2013


Hi All,
We are using Drools-core 5.2.0.M2  version and we are facing issue while
inserting facts within
StatefulKnowledge session we insert around 50 facts in single request. We
have 10 threads concurrently requesting for fireAllRules. We are using mvel
dialect and our threads are getting blocked over class.forName

Below is the thread dump 

java.lang.Thread.State: BLOCKED (on object monitor)      at
java.lang.Class.forName0(Native Method)      at
java.lang.Class.forName(Class.java:247)      at
org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:110)
     at
org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:140)     
at org.mvel2.ParserContext.hasImport(ParserContext.java:343)      at
org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1308)
     at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:830)
     at
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:132)
     at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2097)
     at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:900)
     at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:338)
     at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:140)
     at org.mvel2.ast.ASTNode.optimize(ASTNode.java:158)      at
org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)      at
org.mvel2.ast.Or.getReducedValueAccelerated(Or.java:31)      at
org.mvel2.ast.Or.getReducedValueAccelerated(Or.java:31)      at
org.mvel2.MVELRuntime.execute(MVELRuntime.java:87)      at
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:125)
     at org.mvel2.MVEL.executeExpression(MVEL.java:954)      at
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:97)
     at
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:291)
     at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:134)      at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:450)
     at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:378)
     at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:360)
     at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:138)      at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
     at
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)     
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:143)
     at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:332)
     at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:293)
     at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:905)
     at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:864)
     at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:251)
     at

Please advise if this is a known issues in MVEL 2?

Regards,
Lalit.



--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Concurrent-Execution-causes-Blocked-Threads-tp4025632.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list