Uploaded image for project: 'Red Hat Decision Manager'
  1. Red Hat Decision Manager
  2. RHDM-1985

Property reactivity inconsistent behavior when modify-block is placed inside a block like if-block in RHS

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.13.4.GA, IBM BAMOE 8.0.4.GA
    • 7.10.1.GA, 7.13.2.GA, 7.13.3.GA
    • BRE
    • The issue of modify-block inside an if-block (under non-executable model and mvel dialect) is reproducible on 7.10.1 and later releases.

    • False
    • None
    • False
    • Release Notes
    • CR1
    • +
    • +
    • Hide
      $ unzip reproducer_reactivity_1b.zip
      $ cd reproducer_reactivity_1b
      $ ./run_mvn     # i.e. mvn clean compile exec:exec -DgenerateModel=NO -Dba.bom.version=7.13.3.redhat-00003 -Dba.library.version=7.67.0.Final-redhat-00022
          :
          :
      ***** start
      ***** Action of Rule 1 (modify 1): $fact = com.example.reproducer.Fact[value=1, value2=1]
      before modify-block
       after modify-block
      ***** end
          :
          :
      

      Expected behavior: Rule 2 is fired like (*a) below.

      ***** start
      ***** Action of Rule 1 (modify 1): $fact = com.example.reproducer.Fact[value=1, value2=1]
      before modify-block
       after modify-block
      ***** Action of Rule 2: $fact = com.example.reproducer.Fact[value=2, value2=1]    <---------- (*a)
      ***** end
      

      Actual behavior: Rule 2 is not fired.

      Show
      $ unzip reproducer_reactivity_1b.zip $ cd reproducer_reactivity_1b $ ./run_mvn # i.e. mvn clean compile exec:exec -DgenerateModel=NO -Dba.bom.version=7.13.3.redhat-00003 -Dba.library.version=7.67.0.Final-redhat-00022 : : ***** start ***** Action of Rule 1 (modify 1): $fact = com.example.reproducer.Fact[value=1, value2=1] before modify-block after modify-block ***** end : : Expected behavior: Rule 2 is fired like (*a) below. ***** start ***** Action of Rule 1 (modify 1): $fact = com.example.reproducer.Fact[value=1, value2=1] before modify-block after modify-block ***** Action of Rule 2: $fact = com.example.reproducer.Fact[value=2, value2=1] <---------- (*a) ***** end Actual behavior: Rule 2 is not fired.
    • 2023 Week 27-29 (from Jul 3)

      Issue Description:

      Under non-executable model and mvel dialect, when modify-block is placed inside a block like if-block in RHS, the modify does not work correctly (rules to be fired by property reactivity are not fired).

          if (<condition>) {
              modify(<fact object>) {
                  <property> = <value>
              }
          }
      

      Additional Information:

      Test cases may include more variants of modify/update with statement blocks.
      Configuration combinations:

      • non-exec-model and exec-model
      • java dialect and mvel dialect
      • modify and update

              rhn-support-tkobayas Toshiya Kobayashi
              rhn-support-myoshida Masato Yoshida
              Paolo Bizzarri Paolo Bizzarri
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: