Syntax error rarely occurs when running a rule concurrently on multiple KieSessions.

Solution Unverified - Updated -

Issue

Running a rule concurrently on multiple KieSessions, each of which is created and used on a separate thread, with executable model disabled rarely causes a syntax error though the rule is syntactically correct. In this case, you can encounter the errors like (*e1) or (*e2) below.

(*e1)

Caused by: [Error: not a statement, or badly formed structure]
[Near : {... TOSTRING(karaoke.dvd[$title].artist) != ....}]
                      ^
[Line: 1, Column: 10]

(*e2)

Caused by: [Error: unable to resolve method using strict-mode: java.lang.Object.artist()]
[Near : {... TOSTRING(karaoke.dvd[$title].artist) != null ....}]
                                          ^
[Line: 1, Column: 30]

Environment

  • Red Hat Decision Manager (RHDM)
    • 7

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content