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

str operator with bind variable fails after mvel jitting

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.13.3.GA
    • 7.13.0.GA, 7.13.1.GA, 7.13.2.GA
    • BRE
    • 1
    • False
    • None
    • False
    • CR1
    • +
    • Workaround Exists
    • Hide

      use str operator against property (not bind variable)

      i.e. $fact : Fact( $s: name, name str[startsWith] "1" )

      or user corresponsing Java method instead of str operator

      i.e. $fact : Fact( $s: name, $s.startsWith("1") )

      Show
      use str operator against property (not bind variable) i.e. $fact : Fact( $s: name, name str [startsWith] "1" ) or user corresponsing Java method instead of str operator i.e. $fact : Fact( $s: name, $s.startsWith("1") )
    • Hide

      run the attached reproducer by the following steps.

      1. $ cd kjar
      2. $ ./run_mvn
      3. $ cd ../kjarCall
      4. $ ./run.sh

      Show
      run the attached reproducer by the following steps. 1. $ cd kjar 2. $ ./run_mvn 3. $ cd ../kjarCall 4. $ ./run.sh
    • 2023 Week 09-11 (from Feb 27)

    Description

      Issue Description:

      With non-exec-mode,

      when
        $fact : Fact( $s: name, $s str[startsWith] "1" )
      

      fails with

      org.drools.mvel.ConstraintEvaluationException: Error evaluating constraint '$s.startsWith("1")' in [Rule "rule_check_startsWith", "rule_str_startsWith_NG" in /home/tkobayas/usr/work/03455865/reproducer-startsWith/kjar/target/classes/com/example/reproducer/Sample.drl]
      	at org.drools.mvel.MVELConstraint.evaluate(MVELConstraint.java:286)
      	at org.drools.mvel.MVELConstraint.isAllowed(MVELConstraint.java:234)
      	at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:134)
      	at org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:742)
      	at org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:595)
      	at org.drools.core.reteoo.ObjectTypeNode.propagateAssert(ObjectTypeNode.java:297)
      	at org.drools.core.phreak.PropagationEntry$Insert.propagate(PropagationEntry.java:162)
      	at org.drools.core.phreak.PropagationEntry$Insert.execute(PropagationEntry.java:167)
      	at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:100)
      	at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:95)
      	at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:853)
      	at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:816)
      	at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:808)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1341)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1332)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1316)
      	at com.example.reproducer.DroolsTest.main(DroolsTest.java:36)
      Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
      	at org.drools.core.base.EvaluatorWrapper.getFactHandle(EvaluatorWrapper.java:260)
      	at org.drools.core.base.EvaluatorWrapper.loadHandles(EvaluatorWrapper.java:219)
      	at org.drools.core.rule.constraint.EvaluatorHelper.initOperators(EvaluatorHelper.java:54)
      	at ConditionEvaluator07e2037787b947faa23bf9d2cd0c8ae7.evaluate(Unknown Source)
      	at org.drools.mvel.MVELConstraint.evaluate(MVELConstraint.java:284)
      

      after mvel jitting (by default, evaluated 20 times).

      Acceptance Criteria:

      Fix the exception. Return the same result as non-jitting.

      exec-model doesn't have this issue.

      Attachments

        Issue Links

          Activity

            People

              rhn-support-tkobayas Toshiya Kobayashi
              rhn-support-hmiura Hiroko Miura
              Paolo Bizzarri Paolo Bizzarri
              Paolo Bizzarri Paolo Bizzarri
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: