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

NotNode proceeds with unmatched facts

    XMLWordPrintable

Details

    • Bug
    • Status: Verified (View Workflow)
    • Major
    • Resolution: Done
    • 7.9.0.GA, 7.11.1.GA
    • 7.12.1.GA
    • BRE
    • CR1
    • Hide
      $ unzip reproducer_cond_1d_04.zip.
      $ cd reproducer_cond_1d_04
      $ ./run_mvn
      

      Expected Result – Rule cond_1d_01 is not fired.

      $ ./run_mvn
          :
          :
      ***** start
      ***** Rule "cond_1d_02": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='null']
      ***** Rule "cond_1d_03": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='1000.000000']
      ***** end
          :
          :
      

      Actual Result – Rule cond_1d_01 is unexpectedly fired.

      $ ./run_mvn
          :
          :
      ***** start
      ***** Rule "cond_1d_02": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='null']
      ***** Rule "cond_1d_03": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='1000.000000']
      ***** Rule "cond_1d_01" FIRED!    <---------- Rule cond_1d_01 is unexpectedly fired.
      ***** end
          :
          :
      
      Show
      $ unzip reproducer_cond_1d_04.zip. $ cd reproducer_cond_1d_04 $ ./run_mvn Expected Result – Rule cond_1d_01 is not fired. $ ./run_mvn : : ***** start ***** Rule "cond_1d_02": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='null'] ***** Rule "cond_1d_03": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='1000.000000'] ***** end : : Actual Result – Rule cond_1d_01 is unexpectedly fired. $ ./run_mvn : : ***** start ***** Rule "cond_1d_02": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='null'] ***** Rule "cond_1d_03": com.example.reproducer.Person[id='3', name='George', age='40', likes='cheddar', salary='1000.000000'] ***** Rule "cond_1d_01" FIRED! <---------- Rule cond_1d_01 is unexpectedly fired. ***** end : :
    • Release Notes
    • 2021 Week 40-42 (from Oct 4)
    • +

    Description

      A rule like this:

      rule R1
        when
          Cheese($type : type)
          not( Person( likes == $type, salary == null ) )
      
      • insert Cheese
      • Insert multiple Persons which don't match the rule (salary == null)
      • Update one Person with non-related property Note:This fact has to be a "blocker" in rightTuple in NotNode
      • Update the same Person to match the not (salary == 1000)
      • Still 2 Persons don't match the condition so the rule should not fire. — However, the rule fires

      Attachments

        Issue Links

          Activity

            People

              mfusco@redhat.com Mario Fusco
              rhn-support-myoshida Masato Yoshida
              Daniel Rosa Daniel Rosa
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: