Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-5405

NPE removing a rule from KieBase

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • None
    • 7.37.0.Final
    • core engine
    • None
    • 2020 Week 52-03 (from Dec 21)
    • Hide

      first step: fired the rule

      KieSession kieSession = kieSessionsPool.newKieSession();
      kieSession.insert(fact);
      kieSession.fireAllRules(new RuleNameEqualsAgendaFilter(ruleName));
      kieSession.dispose();
      

      second step: removing the rule from KieBase

      KieBase kieBase = kieContainer.getKieBase(kBaseName);
      kieBase.removeRule(pkgName, ruleName);
      
      Show
      first step: fired the rule KieSession kieSession = kieSessionsPool.newKieSession(); kieSession.insert(fact); kieSession.fireAllRules( new RuleNameEqualsAgendaFilter(ruleName)); kieSession.dispose(); second step: removing the rule from KieBase KieBase kieBase = kieContainer.getKieBase(kBaseName); kieBase.removeRule(pkgName, ruleName);
    • NEW
    • NEW

      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]

              mfusco@redhat.com Mario Fusco
              dlzhang dianle zhang (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: