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

NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • 7.5.0.Final
    • core engine

    Description

      Under the conditions:

      • updateToVersion() is called twice
      • A rule is removed on the version change
      • The rule has eval()

      NoClassDefFoundError is thrown on the second updateToVersion()

      Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.801 sec <<< FAILURE! - in org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest
      testRuleRemovalAndEval(org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest)  Time elapsed: 1.799 sec  <<< ERROR!
      java.lang.NoClassDefFoundError: org/drools/compiler/Rule_R2773041198
      	at org.drools.core.common.ProjectClassLoader.tryDefineType(ProjectClassLoader.java:191)
      	at org.drools.core.common.ProjectClassLoader.loadType(ProjectClassLoader.java:181)
      	at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:148)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at org.drools.core.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:575)
      	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      	at org.drools.compiler.Rule_R2773041198Eval0InvokerGenerated.evaluate(Unknown Source)
      	at org.drools.compiler.Rule_R2773041198Eval0Invoker.evaluate(Unknown Source)
      	at org.drools.core.rule.EvalCondition.isAllowed(EvalCondition.java:129)
      	at org.drools.core.phreak.PhreakEvalNode.doLeftInserts(PhreakEvalNode.java:72)
      	at org.drools.core.phreak.PhreakEvalNode.doNode(PhreakEvalNode.java:56)
      	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:381)
      	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:333)
      	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169)
      	at org.drools.core.phreak.AddRemoveRule.forceFlushLeftTuple(AddRemoveRule.java:676)
      	at org.drools.core.phreak.AddRemoveRule.flushStagedTuples(AddRemoveRule.java:604)
      	at org.drools.core.phreak.AddRemoveRule.removeRule(AddRemoveRule.java:164)
      	at org.drools.core.reteoo.ReteooBuilder.removeTerminalNode(ReteooBuilder.java:191)
      	at org.drools.core.reteoo.ReteooBuilder.removeRules(ReteooBuilder.java:177)
      	at org.drools.core.impl.KnowledgeBaseImpl.removeObjectsGeneratedFromResource(KnowledgeBaseImpl.java:1740)
      	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2281)
      	at org.drools.compiler.kie.builder.impl.KieBaseUpdater.run(KieBaseUpdater.java:66)
      	at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:734)
      	at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:245)
      	at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:182)
      	at org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest.testRuleRemovalAndEval(IncrementalCompilationTest.java:4708)
      

      Attachments

        Issue Links

          Activity

            People

              mfusco@redhat.com Mario Fusco
              rhn-support-tkobayas Toshiya Kobayashi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: