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

Each call to KieContainer.updateToVersion(ReleaseId version) creates a new classloader for unmodifed rules in the KieModule

    Details

    • Sprint:
      2018 Week 42-44
    • Story Points:
      5
    • Steps to Reproduce:
      Hide

      Run the attached reproducer and examine the updrule#_3.dmp (i.e. updrule1_3.dmp , updrule3_3.dmp ) files that are created. Notice the number org.drools.compiler.integrationTests.Rule_10810DefaultConsequenceInvoker classloaders is increasing.

      Show
      Run the attached reproducer and examine the updrule#_3.dmp (i.e. updrule1_3.dmp , updrule3_3.dmp ) files that are created. Notice the number org.drools.compiler.integrationTests.Rule_10810DefaultConsequenceInvoker classloaders is increasing.
    • Docs QE Status:
      NEW
    • QE Status:
      NEW

      Description

      I have attached a reproducer named UpdateToVersionCreatingNewClassloaders.java that creates a KieContainer with a KieModule that contains a single rule (rule name 1081) and then runs a loop that adds 1 rule and removes 1 rule and calls KieContainer.updateToVersion(). Along the way it creates .dmp files.

      If you examine the .dmp files name updrule#_3.dmp (i.e. updrule1_3.dmp , updrule3_3.dmp ) you will see that the number of classloaders for the rule named org.drools.compiler.integrationTests.Rule_10810DefaultConsequenceInvoker increases by 1 each iteration.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                mfusco Mario Fusco
                Reporter:
                billt408 Bill Tuminaro
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: