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

OutOfMemoryError caused by RuleTerminalNodeLeftTuple

    XMLWordPrintable

Details

    Description

      delete/insert child fact causes a loop in PhreakJoinNode.doRightInserts() and ends up with OOME.

      rule R1
          no-loop
      when
          $p : Person(name == "Mario") @watch(age)
          $as : Asset()
          $ac : AssetCard(parent == $as, groupCode != "A") 
      then
          System.out.println("Rule " + drools.getRule().getName() + "; " + $ac);
          modify($p){setAge(10)}
      end
      
      rule R2
          no-loop
      when
          $p : Person(name == "Mario") @watch(age)
          $as : Asset()
          $ac : AssetCard(parent == $as, groupCode == "A") 
      then
          System.out.println("Rule " + drools.getRule().getName() + "; " + $ac);
          modify($p){setAge(10)}
      end
      
              ksession.delete(assetCardFh);
              ksession.update(assetFh, asset, "assetCard");
      
              ksession.insert(assetCard2);
              ksession.update(assetFh, asset, "assetCard");
      

      Attachments

        Issue Links

          Activity

            People

              mfusco@redhat.com Mario Fusco
              rhn-support-tkobayas Toshiya Kobayashi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: