[
https://issues.jboss.org/browse/DROOLS-215?page=com.atlassian.jira.plugin...
]
Ales Dolecek commented on DROOLS-215:
-------------------------------------
Hello,
I have not seen the Exception on 5.5 from the time we rebuild knowledgebase on rule
change (instead od incremental change of rules). Definitelly related to KB update. Have
you looked at my last comment in the forum? I tried to analyze the code to discover where
the change of nodes can occur. Seems that the lock held while copying entries during
resize does not prevent concurent access.
Aleš
Corrupted Working/Production memory
-----------------------------------
Key: DROOLS-215
URL:
https://issues.jboss.org/browse/DROOLS-215
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 5.5.0.Final
Reporter: Ales Dolecek
Assignee: Mark Proctor
Attachments: ConcurrentNodeMemories.java
Experienced ClassCastException mixing BetaMemory and AlphaMemory. There is debate in the
mailing list/forum. The problem seems to be related to dymanic updates of knowledgebase.
Saddly there is no deterministic way how to reproduce the issue, but that should not
prevent tracking it here.
Stack trace from my project:
java.lang.ClassCastException: org.drools.reteoo.BetaMemory cannot be cast to
org.drools.reteoo.AlphaNode$AlphaMemory
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:136)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:192)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:186)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1.defaultConsequence(Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1.java:7)
~[na
:na]
at
cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1DefaultConsequenceInvokerGenerated.evaluate(Unknown
Source) ~[na:na]
at
cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1DefaultConsequenceInvoker.evaluate(Unknown
Source) ~[na:na]
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
at
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230)
~[drools-core-5.5.0.Final.jar:5.5.0.Final]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira