Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-3596

KnowledgeBase Incremental Build does not manage compiled types correctly

    XMLWordPrintable

    Details

    • Steps to Reproduce:
      Hide

      See test cases in PR (later)

      Show
      See test cases in PR (later)

      Description

      The issue arises when a KnowledgeBuilder is initialized with a KnowledgeBase for incremental building.
      Notice that this is what happens when a KnowledgeAgent is created setting the "useKBaseClassLoaderForCompiling" option.

      The Kbuilder's PackageBuilder (~ line #1190) creates/gets a Package from the Rulebase, effectively adding the compilation results to the rulebase.
      However, AbstractRuleBase.addPackages (~ line #510) is called before the packageDescr is really compiled, so the kbuilder's additions are not correct (the rewiring done by addPackages is not performed) and the package(s) generated by the packagebuilder must be readded to the rulebase.
      However, the compiled resources (e.g. declared types) are not rewired properly, so the class mismatch between the ones used for compilation and
      the ones used for runtime will prevent rules from firing.

      This might potentially be related to JBRULES-3543 and JBRULES-2962 (under investigation)

        Attachments

          Activity

            People

            Assignee:
            dsotty Davide Sottara (Inactive)
            Reporter:
            dsotty Davide Sottara (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: