[jboss-jira] [JBoss JIRA] (DROOLS-4089) EvaluatedExpression not well resolved with JIT during race

vincent palau (Jira) issues at jboss.org
Wed May 29 07:57:00 EDT 2019


     [ https://issues.jboss.org/browse/DROOLS-4089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

vincent palau updated DROOLS-4089:
----------------------------------
    Description: 
we recently moved from  Drools 7.9.0 to 7.20.
Some errors started appearing in ours tests when calling static methods in drools.
This started happening when all tests were run simultaneously.

It seems the mvel JIT compiler kicks in and it incorrectly evaluates the property name:
A simple call to {noformat}ValidationUtils.isNullOrEmpty(interestedPartyNumber){noformat} ends up with this kind of error:
{noformat}
"java.lang.RuntimeException: Unknown property 'nullOrEmpty' on class tech.stage.utils.cwr.model.PublisherRecord"
{noformat}

Debugging info:
Related source-code: https://github.com/kiegroup/drools/blob/7.20.0.Final/drools-core/src/main/java/org/drools/core/rule/constraint/MvelConstraint.java#L489

 !debugging-1.png|full! 

1)  is the current evaluated property
2) Should be the right property of WriterRecord
3) Perhaps the expression which should be executed instead of invocations.get(0)

We fixed that somehow disabling JIT with {noformat}ConstraintJittingThresholdOption{noformat}




  was:
we recently moved from  Drools 7.9.0 to 7.20.
Some errors started appearing in ours tests when calling static methods in drools.
This started happening when all tests were run simultaneously.

It seems the mvel JIT compiler kicks in and it incorrectly evaluates the property name:
A simple call to {noformat}ValidationUtils.isNullOrEmpty(interestedPartyNumber){noformat} ends up with this kind of error:
{noformat}
"java.lang.RuntimeException: Unknown property 'nullOrEmpty' on class tech.stage.utils.cwr.model.PublisherRecord"
{noformat}

Debugging info:
Related source-code: https://github.com/kiegroup/drools/blob/7.20.0.Final/drools-core/src/main/java/org/drools/core/rule/constraint/MvelConstraint.java#L489

 !debugging-1.png|thumbnail! 

1)  is the current evaluated property
2) Should be the right property of WriterRecord
3) Perhaps the expression which should be executed instead of invocations.get(0)

We fixed that somehow disabling JIT with {noformat}ConstraintJittingThresholdOption{noformat}






> EvaluatedExpression not well resolved  with JIT during race 
> ------------------------------------------------------------
>
>                 Key: DROOLS-4089
>                 URL: https://issues.jboss.org/browse/DROOLS-4089
>             Project: Drools
>          Issue Type: Bug
>            Reporter: vincent palau
>            Assignee: Mario Fusco
>            Priority: Major
>         Attachments: debugging-1.png
>
>
> we recently moved from  Drools 7.9.0 to 7.20.
> Some errors started appearing in ours tests when calling static methods in drools.
> This started happening when all tests were run simultaneously.
> It seems the mvel JIT compiler kicks in and it incorrectly evaluates the property name:
> A simple call to {noformat}ValidationUtils.isNullOrEmpty(interestedPartyNumber){noformat} ends up with this kind of error:
> {noformat}
> "java.lang.RuntimeException: Unknown property 'nullOrEmpty' on class tech.stage.utils.cwr.model.PublisherRecord"
> {noformat}
> Debugging info:
> Related source-code: https://github.com/kiegroup/drools/blob/7.20.0.Final/drools-core/src/main/java/org/drools/core/rule/constraint/MvelConstraint.java#L489
>  !debugging-1.png|full! 
> 1)  is the current evaluated property
> 2) Should be the right property of WriterRecord
> 3) Perhaps the expression which should be executed instead of invocations.get(0)
> We fixed that somehow disabling JIT with {noformat}ConstraintJittingThresholdOption{noformat}



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list