Finding the cause of an improper Rule Execution Server configuration

When Rule Execution Server does not work as expected, you might want to investigate the Execution Unit (XU) configuration.

About this task

It is sometimes difficult to establish the real cause of unexpected behavior from the execution unit (XU) just by reading the log files. In some cases, the problem can result from an improper XU configuration.

Procedure

To help your investigation:

  1. Narrow down your case to the shortest scenario or minimal application that raises the problem.
  2. Turn on the full trace mode of the XU.

    See the sections that document how to set the logging level for your application server.

  3. Save the changes and restart your application server.

    If you work on JBoss®, you must redeploy the modified XU RAR file and restart the application server.

  4. From the Rule Execution Server console, set the value of the ruleset.trace.enabled ruleset property to true to activate the trace mode of the ruleset that is called by your minimal application.

    Some traces can be activated at the XU session level. You can edit the ejb-jar.xml contained in jrules-res-session-<app_server>.jar to change the traceEnabled property (on the stateless EJB). If you set this property to true, a trace mode prints the incoming message to a System.out:

    <env-entry>
       <description>to enable trace on std output</description>
       <env-entry-name>traceEnabled</env-entry-name>
       <env-entry-type>java.lang.Boolean</env-entry-type>
       <env-entry-value>true</env-entry-value>
    </env-entry>
    
  5. Run this minimal application and review the XU trace log.

    As possible, run the XU and engine in debug mode and use them in this compiled form.

  6. If it is still impossible to identify the cause of the error from the log messages, provide the following information to IBM® Customer Support, in addition to the minimal application and the rulesets:
    • The full logs output by the XU log and by your application server.
    • The XU memory dump: in the Server Info View of the Rule Execution Server console, click the Save icon.Save icon next to the View link to save the memory dump on your computer. The XU memory dump is an HTML file that represents a snapshot of the XU. It contains the XU settings, technical information about the caches, about the state of the current connection in memory, and about the XU configuration. The XU memory dump is downloaded as the infos.zip file, which contains a single entry named infos.html.
    • The exact version number of the JDK and of your application server
    • The name and version of the operating system
    • The Decision Server version
    • The JVM thread memory dump of all threads if the issue seems to be a deadlock