IBM Support

Operational Decision Manager Known Limitations, Version 8.12.x

News


Abstract

This page lists the known limitations in the different release versions of Operational Decision Manager 8.12. The list also provides workarounds for most of the issues.

Content

General

The SRVE9967W warning message appears when you start a server. (Version 8.12.0)

You can ignore the message. To hide it, do one of the following: 
  • Add <logging hideMessage="SRVE9967W" in the server.xml file.
  • For the container environment, added the following code to dc-logging-configmap:
    dc-logging: "<server>\n\t<logging hideMessage=\"SRVE9967W\" traceFileName=\"stdout\" traceFormat=\"BASIC\" traceSpecification=\"=audit:org.apache.solr.=warning:com.ibm.rules.bdsl.search.solr.*=warning\" consoleLogLevel=\"INFO\"/>\n</server>"

Operational Decision Manager has no way to block outgoing HTTP communication. (Version 8.12.0)

If you need to control this type of communication, a proxy can be used, and an allowlist filter can be added at the application server level.

Installation and Configuration

Installation Manager freezes when you try to install an older version (X) of Operational Decision Manager when a newer version (Y) is already installed. (All versions)

Try these options to resolve the problem.
Option 1
Change the name of version Y:
  1. Rename the installation folder of version Y.
  2. Uninstall version Y by using Installation Manager. When you do so, ignore the errors that are raised because Installation Manager does not delete the folders for version Y.
  3. Install version X by using Installation Manager.
  4. Rename the installation folder of version Y.
Option 2

Using Installation Manager, install the versions in order:

  1. Fully uninstall version Y.
  2. Install version X.
  3. Install version Y.

You might experience compatibility issues with older schema definitions when migrating from MySQL 7.0 to MySQL 8.0. (All versions)

If you use MySQL 7.0, you must manually update database columns before you migrate to MySQL 8.0:

  • ALTER script: In the ALTER TABLE baseline, rename the column groups to ilrgroups.
  • ALTER TABLE LOCKTBL: Rename the column system to ilrsystem.

You run JBoss 7.4.X and get failures on test suites or simulations. (All versions)

You run JBoss 7.4.X and get failures on test suites or simulations because Decision Runner is not running correctly:

java.io.InvalidClassException: filter status: REJECTED
   at java.base/java.io.ObjectInputStream.filterCheck()
JBoss applies a Java serialization filter that prevents Decision Runner from using Java serialization in certain cases. The filter is managed by a property that is written in the log file at server startup:
jdk.serialFilter = maxbytes=10485760;maxdepth=128;maxarray=100000;maxrefs=300000
The serialization filter can be modified or disabled. To disable the filter:
  1. Open the JBoss configuration file: <JBboss home>/bin/init.d/jboss-eap.conf
  2. Add the following line to the file:
    export DISABLE_JDK_SERIAL_FILTER=true
    export DISABLE_JDK_SERIAL_FILTER
  3. Restart the JBoss server.

Eclipse comes with Java 17, instead of Java 11. (All versions)

You must have Java 11 installed on your computer to do this setup. To switch to Java 11:
  • Open Eclipse.
  • In the toolbar, click Window > Preferences > Java > Installed JREs.
  • Click Add to add a new JRE.
  • Select Standard VM and click Next.
  • Select the directory on your computer that contains Java 11, for example, C:\Program Files\Java\jdk-11.0.16.
  • Click Finish to add the JRE.
  • Select the new JRE in the list, and click Apply and Close.
  • Restart Eclipse.

When you install Rule Designer on Eclipse, a warning message tells you that the Rule Designer feature file is not signed. (Version 8.12.0)

You can ignore the message. Rule Designer will install safely.

Users of Semeru JDK on macOS machines cannot use the Norwegian locale (no_No). They get an exception when loading a project. (Version 8.12.0)

To work in Norwegian on Operational Decision Manager components, use a different operating system.

Spring 5.3 has introduced an incompatibility with old versions of JBoss. (Version 8.12.0)

An open source framework, Spring is used in the foundation of IBM Operational Decision Manager Decision Center in the Business console and the REST API. See Spring incompatibility with old versions of JBoss affects IBM Operational Decision Manager Decision Center.

Spring Framework has a potential remote code execution issue when used for Java deserialization of untrusted data.

There is no fix for this vulnerability. Java deserialization of untrusted data is unsafe. Customers must ensure that they do not expose HTTP invoker endpoints to untrusted clients. Customers may expose HTTP invoker endpoints only between their own services.

Rule Designer

For XOM builds, there is no support for specific Java features introduced after Java 8. (All versions)

Operational Decision Manager 8.12 uses Java 11, which replaces Java 8. No changes have been made to support specific features introduced after Java 8. Rule Designer also uses Eclipse 4.24, which replaces Eclipse 4.16.

Rule Designer runs slowly or stops responding when a help view is open. (Version 8.12.0)

Try the following workarounds:
  • If the help view is not needed, close it.
  • If the help view is needed, open Window > Preferences > Help > Content in the Rule Designer Eclipse environment, and systematically click Apply and Close. The URL of the help service should be https://www.ibm.com/docs/odm/8.12.0.

The Automated decision service deployment sample does not work as described. (Version 8.12.0)

The sample in Automated decision service deployment sample setup and details does not work as described. (Version 8.12.0)You need to modify two files to run the tasks successfully:

  • Add <targets label="SampleDirectory"/> before <operations> in ODM8104\studio\samples\brmanagement\buildautomationtool\project\miniloan-automation\deployment\DirectoryDeployment.dep.
  • Add <targets label="SampleServer"/> before <operations> in ODM8104\studio\samples\brmanagement\buildautomationtool\project\miniloan-automation\deployment\ServerDeployment.dep.

You cannot test decision operations in the Rule Designer that is available in the Eclipse Marketplace. (Version 8.12.0)

The testing feature is available in the Rule Designer that is packaged in the Decision Server repository that is available through IBM Passport Advantage Online.

When you import a rule project into Rule Designer on macOS, you might not be able to expand the folders in the project. (Version 8.12.0)

When you import a rule project:

  1. Select the folder to be imported.
  2. Click the From Directory text box.
  3. Press Enter.

When you use the Samples Console, you cannot see the commands in the Samples Commands tab. (Version 8.12.0)

You cannot see the commands when an Ant window is open. Restart Eclipse to display the commands.

The name property cannot be empty when you publish a project from Rule Designer to Decision Center. (Version 8.12.0)

Make sure that all the rules and packages are in the rule folder, and there is no .rulepackage file directly in the rule folder or anywhere else in the rule project.

When you run automated builds in headless mode from the Windows command line, you get an error message if no argument is specified. (Version 8.12.0)

For languages that use extended character sets, the error message is displayed incorrectly.

To avoid this issue:

  1. Run the chcp command to display the active code page (cp) number.
  2. Run the automated build command as shown in the following example, adding the arguments -vmargs -Dfile.encoding= to change the default character encoding:
    \eclipsec.exe -application ilog.rules.studio.automation.builder -noSplash -nl fr -vmargs -Dfile.encoding=cp437

Types for partial dates might require changes to obtain the wanted comparison behavior. (Version 8.12.0)

While the ilog.rules.brl types that represent a complete date without a time (SimpleDate and UniversalDate) can be used as is for comparisons, the other types for partial dates might require changes to obtain the wanted comparison behavior.
For example, if you use ilog.rules.brl.Month and data for month/day/year, a comparison of months might fail as whole dates, and not partial dates, are compared.

To prevent this problem:

  • Change the getter sections of the BOM fields that represent partial dates.
  • Change the body of the BOM methods that return a partial date by using the ilog.rules.brl.IlrDateUtil utility class.

Decision Center

You cannot log in to Decision Center with a username that contains an apostrophe, for example, "Charles d'Artagnan".  (Version 8.12.0)

In general, avoid using punctuation in usernames.

When the Business console application starts, it adds warnings to the log file, for example, "The manifest class path jaxb-api.jar cannot be found in jar file." (Version 8.12.0)

Those warnings can be safely ignored.

In Liberty profile, you can hide the warnings by adding the following attribute in the <logging> section of the server.xml:

 hideMessage="SRVE9967W"

Vulnerability scanners show Content Security Policy (CSP) as a vulnerability. (Version 8.12.0)

The HTTP Content Security Policy (CSP) response header allows website administrators to control resources that the user agent is allowed to load for a given page. The script source policy for Operational Decision Manager requires the use of directives that might be detected by some vulnerability scanners as vulnerable: script-src: unsafe-inline unsafe-eval. Those directives are needed by Decision Center to work properly and you must keep them.

In the Business Console, the same user cannot open several windows in the same browser. (Version 8.12.0)

This behavior is correct.

The Import Excel File command in the decision table editor in the Business console imports any formula that is contained in an Excel file, instead of just the results of the formula. (Version 8.12.0)

To import a copy of an Excel file with the formulas replaced by their results:

  1. Copy the cells that contain formulas.
  2. Click the down arrow on the Paste button in the Clipboard section of the Home tab, and then click the Values button in the Paste Values section of the drop-down menu.

The search feature does not take into account technical rules or functions. (Version 8.12.0)

Users can find technical rules and functions by using the query feature.

In OpenID Connect, when you run a request that needs authentication from the decisioncenter-API Swagger URL, the basic authentication connection setting is displayed, instead of the OAUTH/OpenID connection panel. (Version 8.12.0)

This behavior is correct.

You might encounter improper functioning of the search in the Business console or log entries related to org.apache.solr that are caused by upgrades to the embedded Apache Solr search engine. (Version 8.12.0)

Re-index the search:
  1. Stop the server.
  2. Delete the directory /decisioncenter-solr<ext>.
  3. Restart the server.
Solr indexes are then automatically regenerated. You can locate the Solr index directory by running the diagnostic in the Business console.

Issues when Spring Boot bypasses the application server logging configuration. (Version 8.12.0)

Spring Boot has a feature that automatically detects any logging framework that is available. It is based on the presence of classes listed in org.springframework.boot.logging.LoggingSystem.SYSTEMS - either Logback, Log4j or JUL). Spring Boot configures the feature from either an application-provided logging configuration file or Spring Boot’s own default configuration file, which is packaged in Spring Boot. This can cause issues when Spring Boot bypasses the application server logging configuration. In this case, the application server configuration file is not taken into account and all the defined filters are ignored.

To configure logging with a platform logging configuration file, you must disable the Spring Boot override mechanism. To do so, set a JVM property to configure the Spring Boot logging behavior with the following property and value:

-Dorg.springframework.boot.logging.LoggingSystem=none

Rule Execution Server

Vulnerability scanners show Content Security Policy (CSP) as a vulnerability. (Version 8.12.0)

The HTTP Content Security Policy (CSP) response header allows website administrators to control resources that the user agent is allowed to load for a given page. The script source policy for Operational Decision Manager requires the use of directives that might be detected by some vulnerability scanners as vulnerable: script-src: unsafe-inline unsafe-eval. Those directives are needed by Rule Execution Server to work properly and you must keep them.

The contextual help in the Rule Execution Server console might not work in your installation, especially if you use the IBM WebSphere Liberty server. (Version 8.12.0)

If you get errors for SSL handshakes in the Rule Execution Server console logs, note the name of the host that is related to the errors, and then add the certification chain for this host to your JVM trust store. Usually, the host name is  www.ibm.com, but it can be different.
Follow these steps to add the certification chain to WebSphere Liberty:
  1. Open https://<host name>/ in a web browser.
  2. Display the certificate information.
  3. Export the certification chain as a .pem file. (Note: If you use the Firefox web browser, it gives you the option of downloading the file that displays the certificate information.)
    For additional information, see 
    Export & Download — SSL Certificate from Server (Site URL).
  4. Create a trust store file, truststore.jks, and import the .pem file into the trust store. You can use the following command to do so:
    <jdk>/bin/keytool -importcert
    -file www-ibm-com-chain.pem -keystore <trust store>
    -storepass <trust store password> -alias odmkc
  5. Ensure that the trust store is referenced by from your server.xml configuration file. This example adds the following statement with your truststore.jks file to the <server root>/resources/security folder:
     <keyStore id="defaultTrustStore" password="<your truststore password>" location="truststore.jks" />

If you use a Swagger API to run rules that have a parameter named response or request, the run stops and you get a bad request error. (Version 8.12.0)

If you use a Swagger API to run rules that have a parameter named response or request, the run stops and you get a bad request error:
statusCode=400, responseMessage=Bad Request,
responseBody=sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@7c8dbe70, responseHeaders=CaseInsensitiveMultivaluedMap [map=[null=HTTP/1.1 400 Ba

Do not use response or request in parameter names for Swagger calls.

Since the update of the Myfaces third-party library, warnings are issued to the RES console log when users browse the web application. (Version 8.12.0)

Since the update of the Myfaces third-party library, warnings are issued to the RES console log when users browse the web application, for example:
  • WARN [org.apache.myfaces.shared_impl.renderkit.html.HtmlImageRendererBase]
  • WARN [org.apache.myfaces.shared_impl.renderkit.html.HtmlGridRendererBase]
Set the logging trace org.apache.myfaces.shared.renderkit.html.* to error to hide the warning messages in the log
For liberty/WAS: Use the trace specification org.apache.myfaces.shared.renderkit.html.*=error
For Tomcat:  add org.apache.myfaces.shared.renderkit.html.*.level = SEVERE
to the logging.properties file .

While running a test, you get the following exception error: Caused by: com.ibm.db2.jcc.am.SqlDataException: VALUE <Lob-Value> IS TOO LONG. SQLCODE=-433, SQLSTATE=22001, DRIVER=3.72.45 (Version 8.12.0)

You might need to modify the size of the tables that are used by Decision Runner. In the table EXECUTIONINSTANCEDATA, increase the column parameters to a BLOB of 2GB.
 
On DB2:
ALTER EXECUTIONINSTANCEDATA ALTER parameter SET BLOB(2G)

zRule Execution Server for z/OS

In the Rule Execution Server console, you can display the execution statistics of a ruleset. These statistics include Last execution date.  Session caching on z/OS results in Last execution date showing In Progress, even after rule execution completes. (Version 8.12.0)

If you need to use the Last execution date value, you must start zRule Execution Server for z/OS with the -DHBRNOSESSIONCACHE=true setting.

Operational Decision Manager on Certified Kubernetes

You must declare a version of SSL for your DB2 custom external database. (All versions)

When configuring a DB2 custom external database, you must edit the properties.db2.jcc configuration to define the SSL version for your DB2 installation, for example, sslVersion="TLSv1.2".

If you use an ibm-odm-dev Helm chart earlier than version 21.2.0, you will encounter an error when installing an instance of Operational Decision Manager for Developers. (Version 8.12.0)

IBM is moving product images from Docker, docker.io/ibmcom, to the IBM Container Registry, icr.io. You can now obtain the IBM Operational Decision Manager for Developers image without authentication by using this IBM-controlled source.

Move from Docker to the IBM Container Registry by setting the image.repository parameter to icr.io/odm-k8s when you install an instance of Operational Decision Manager for Developers.
helm install my-odm-dev-release 
--set license=accept 
--set image.repository=icr.io/odm-k8s ibm-charts/ibm-odm-dev

[{"Type":"MASTER","Line of Business":{"code":"LOB76","label":"Data Platform"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"ARM Category":[{"code":"a8m50000000L1a2AAC","label":"** Other **"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.12.0"}]

Document Information

Modified date:
16 May 2025

UID

ibm16988307