[
https://issues.redhat.com/browse/DROOLS-5405?page=com.atlassian.jira.plug...
]
Denis Mikhalyov commented on DROOLS-5405:
-----------------------------------------
Got the same problem on 7.45 and 7.47 but I can not reproduce it on demand. We have ~4000
rules and use KieScanner to load updates from Business Central repository. Quite often we
see the error and re-create KieContainer. I've "fixed" this in
_org.drools.core.phreak.AddRemoveRule.iterateLeftTuple:_
{code:java}
if (pmem != null) {
InternalAgenda ia = pmem.getActualAgenda(wm);
if (pmem.getRuleAgendaItem() == null) {
PhreakRuleTerminalNode.doLeftDelete(ia,
pmem.getOrCreateRuleAgendaItem(ia).getRuleExecutor(), lt);
}
else {
PhreakRuleTerminalNode.doLeftDelete(ia,
pmem.getRuleAgendaItem().getRuleExecutor(), lt);
}
}
{code}
Still actually I don't have understanding how to correct it normally.
NPE removing a rule from KieBase
--------------------------------
Key: DROOLS-5405
URL:
https://issues.redhat.com/browse/DROOLS-5405
Project: Drools
Issue Type: Bug
Components: build, core engine
Affects Versions: 7.37.0.Final
Reporter: dianle zhang
Assignee: Ant Stephenson
Priority: Blocker
removing a rule from KieBase causes the following NPE:
java.lang.NullPointerException: null
at org.drools.core.phreak.AddRemoveRule.iterateLeftTuple(AddRemoveRule.java:1063)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.phreak.AddRemoveRule.visitChild(AddRemoveRule.java:978)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at
org.drools.core.phreak.AddRemoveRule.lambda$processLeftTuplesOnLian$1(AddRemoveRule.java:936)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at
org.drools.core.common.DefaultFactHandle$SingleLinkedTuples.forEachLeftTuple(DefaultFactHandle.java:727)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.common.DefaultFactHandle.forEachLeftTuple(DefaultFactHandle.java:923)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.phreak.AddRemoveRule.processLeftTuplesOnLian(AddRemoveRule.java:931)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.phreak.AddRemoveRule.processLeftTuples(AddRemoveRule.java:856)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.phreak.AddRemoveRule.removeRule(AddRemoveRule.java:173)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.reteoo.ReteooBuilder.removeTerminalNode(ReteooBuilder.java:191)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.reteoo.ReteooBuilder.removeRules(ReteooBuilder.java:177)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at
org.drools.core.impl.KnowledgeBaseImpl.lambda$removeRule$6(KnowledgeBaseImpl.java:1553)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at
org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:745)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
at org.drools.core.impl.KnowledgeBaseImpl.removeRule(KnowledgeBaseImpl.java:1537)
~[drools-core-7.37.0.Final.jar:7.37.0.Final]
--
This message was sent by Atlassian Jira
(v8.13.1#813001)