[
https://issues.jboss.org/browse/DROOLS-1059?page=com.atlassian.jira.plugi...
]
Massinissa BOUZIAD commented on DROOLS-1059:
--------------------------------------------
Finally the session cache is breaking down my rules. The isolation of session inside the
cache is not guaranteed and make unpredictible results.
I must rollback to Drools 6.0.1.Final till we find another solution or fixe this issue :(
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
Attachments: DroolsBugReproducerTest.java, reproducerRule.drl
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)