[
https://issues.jboss.org/browse/DROOLS-1059?page=com.atlassian.jira.plugi...
]
Massinissa BOUZIAD commented on DROOLS-1059:
--------------------------------------------
Ok I will give you my "reproducer" wich doesn't reproduce.
Just to give you more hints, I just give it a new bench and I got this stack trace with
version 6.3.0.FINAL and 6.4.0.FINAL :
! java.lang.RuntimeException: Unable to find query 'commonFactsBundle'
! at org.drools.core.phreak.SegmentUtilities.getQueryLiaNode(SegmentUtilities.java:519)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.phreak.SegmentUtilities.getQuerySegmentMemory(SegmentUtilities.java:208)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.reteoo.SegmentMemory$QueryMemoryPrototype.populateMemory(SegmentMemory.java:501)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.reteoo.SegmentMemory$Prototype.newSegmentMemory(SegmentMemory.java:396)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.KnowledgeBaseImpl.createSegmentFromPrototype(KnowledgeBaseImpl.java:1441)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.phreak.SegmentUtilities.restoreSegmentFromPrototype(SegmentUtilities.java:186)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at org.drools.core.phreak.SegmentUtilities.createSegmentMemory(SegmentUtilities.java:83)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at org.drools.core.phreak.SegmentUtilities.createChildSegment(SegmentUtilities.java:322)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.phreak.SegmentUtilities.createChildSegments(SegmentUtilities.java:313)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.reteoo.LeftInputAdapterNode.doInsertObject(LeftInputAdapterNode.java:183)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:167)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:60)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at org.drools.core.reteoo.ObjectTypeNode.propagateAssert(ObjectTypeNode.java:298)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at org.drools.core.reteoo.ObjectTypeNode.assertInitialFact(ObjectTypeNode.java:266)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.StatefulKnowledgeSessionImpl.initInitialFact(StatefulKnowledgeSessionImpl.java:761)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.StatefulKnowledgeSessionImpl.<init>(StatefulKnowledgeSessionImpl.java:374)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.StatefulKnowledgeSessionImpl.<init>(StatefulKnowledgeSessionImpl.java:277)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.common.PhreakWorkingMemoryFactory.createWorkingMemory(PhreakWorkingMemoryFactory.java:42)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.KnowledgeBaseImpl.newStatefulSession(KnowledgeBaseImpl.java:1387)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.KnowledgeBaseImpl.newStatefulSession(KnowledgeBaseImpl.java:1372)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.KnowledgeBaseImpl.newStatefulKnowledgeSession(KnowledgeBaseImpl.java:301)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
org.drools.core.impl.KnowledgeBaseImpl.newStatefulKnowledgeSession(KnowledgeBaseImpl.java:288)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at org.drools.core.impl.KnowledgeBaseImpl.newKieSession(KnowledgeBaseImpl.java:389)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
com.darty.pricing.core.delivery.DeliveryFeesEvaluator.newSession(DeliveryFeesEvaluator.java:63)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
! at
com.darty.pricing.core.delivery.DeliveryFeesEvaluator.evaluate(DeliveryFeesEvaluator.java:77)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
The diferrence is that the exception is thrown during knowledge session creation.
I'm not sure this point will help you.
Drools can't find rules under stress
------------------------------------
Key: DROOLS-1059
URL:
https://issues.jboss.org/browse/DROOLS-1059
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 6.3.0.Final
Reporter: Massinissa BOUZIAD
Assignee: Mario Fusco
Priority: Blocker
In my knowledge base, I have many rules.
All of them are working very well in production with drools 6.0.1-FINAL even in stress
condition hight trafic (arount 40 hits seconds)
This bug append when we made an upgrade with drools 6.3.0-FINAL which is compatible with
jdk8 mandatory in my case.
So now when I put my rules under stress test (benchmarking) I got this random error.
Drools is unable to find a query (not always the same one).
I got this error for 0,6% of my requests.
*+Following the stack trace : +*
Unable to find query 'checkAndBindBasket'
at org.drools.core.phreak.SegmentUtilities.getQueryLiaNode(SegmentUtilities.java:518)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.phreak.SegmentUtilities.getQuerySegmentMemory(SegmentUtilities.java:208)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.SegmentMemory$QueryMemoryPrototype.populateMemory(SegmentMemory.java:505)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.SegmentMemory$Prototype.newSegmentMemory(SegmentMemory.java:400)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.impl.KnowledgeBaseImpl.createSegmentFromPrototype(KnowledgeBaseImpl.java:1424)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.phreak.SegmentUtilities.restoreSegmentFromPrototype(SegmentUtilities.java:186)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.phreak.SegmentUtilities.createSegmentMemory(SegmentUtilities.java:83)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:167)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:60)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:494)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:384)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:60)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:494)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:384)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:494)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:384)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:494)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:384)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:145)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:494)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:384)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.reteoo.ObjectTypeNode.propagateAssert(ObjectTypeNode.java:298)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.phreak.PropagationEntry$Insert.execute(PropagationEntry.java:93)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:96)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:69)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.flushPropagations(StatefulKnowledgeSessionImpl.java:1993)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1289)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1294)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1281)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1260)
~[darty-pricing-ws-2.0.2.jar:2.0.2]
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)