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

Invalid result with collect, mvel and ForceEagerActivationOption.YES

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 7.25.0.Final
    • Fix Version/s: None
    • Component/s: core engine
    • Labels:
      None
    • Sprint:
      2019 Week 35-37
    • Steps to Reproduce:
      Hide

      See test case in the linked PR as well as the attached reproducer (same rules, just added to run it easily against different versions).

      Show
      See test case in the linked PR as well as the attached reproducer (same rules, just added to run it easily against different versions).
    • Docs QE Status:
      NEW
    • QE Status:
      NEW

      Description

      A rule updates a list in a fact:

      rule "Init"
          dialect "mvel"
          when
              $fl: FactWithList(items.size()==0)
          then
              $fl.getItems().add("A");
              $fl.getItems().add("B");
              update($fl);
      end
      

      A second rule verifies if other facts exist, matching the items in the updated list:

      rule "Expected Outcome"
          dialect "mvel"
          when
              $fl: FactWithList($itemList : items != null)
              $l: java.util.ArrayList(size > 0) from collect(FactWithString($itemList contains stringValue));
          then
              System.out.println("--> Rule: " + kcontext.getRule().getName() + " fired, " + $fl + ", collect list: " + $l.size());
      end
      

      This rule is not fired if

      • mvel dialect is used and
      • Drools is executed with ForceEagerActivationOption.YES (jBPM use case)

      Note: This worked in 7.17 and earlier!

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  mfusco Mario Fusco
                  Reporter:
                  mputz Martin Weiler
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: