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

NPE removing a rule from KieBase

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • 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

    Description

      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]

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: