Optimizing the execution unit (XU)
The Decision Server execution unit (XU) can be configured at installation time or applied to an existing Operational Decision Manager instance. You can avoid deadlocks by adjusting the predetermined length of timeouts, restricting the number of rule instances to evaluate, and limiting the number of rules that can fire.
About this task
The following XU properties can be configured to optimize the runtime behavior.
Property name | Description | Default value |
---|---|---|
asynchronousRulesetParsing | For ruleset execution to continue during the parsing of a ruleset update, set the property to true. If you set the property to false, executions of the ruleset in memory are completed but no new executions can be run until the new ruleset is parsed. | true |
compiledArchivesCacheProperties | To change the properties of the compiled archives cache, you need to set two parameters
separated by a comma ',':
|
empty |
defaultConnectionManagerProperties | To change the settings of the connection pool. For more information, see Rule session tuning. |
|
documentBuilderPoolProperties | The XU uses DocumentBuilder instances to convert XOM objects to BOM strings, and the other
way around. Use pool.maxSize to set the maximum number of instances in the pool and pool.waitTimeout
to set the maximum number of milliseconds before attempts at obtaining an instance from the pool
fail.
|
|
rulesetCacheProperties | To change the properties of the ruleset cache. |
|
traceAutoFlush | To flush the log stream each time a message is written, change the value to true. | false |
transformerPoolProperties | To change the properties of the Transformers pool. Use pool.maxSize to set the maximum number
of instances in the pool and pool.waitTimeout to set the maximum number of milliseconds before
attempts at obtaining an instance from the pool fail.
|
|
Procedure
What to do next
You can modify the XU properties in existing containers. To update the XU configuration configmap in an existing ODM instance:
- Edit the configmap by running the following
command:
kubectl edit configmap my-odm-xu-configmap
If you did not set the decisionServerRuntime.xuConfigRef parameter in the custom resource file that you used to create the ODM instance, a default configmap is created with the name my-operator-instance-odm-ds-runtime-xu-configmap. You can edit this configmap to update the XU configuration.
Note: You can also update the xu-configuration.properties file and replace the file in the configmap by running the following command:kubectl create configmap my-odm-xu-configmap --from-file xu-configuration.properties -o yaml --dry-run | kubectl replace -f -
- Delete the
decisionserverruntime
pod by running the following command:kubectl delete pod my-operator-instance-odm-decisionserverruntime-XXXX
A new pod is automatically started with the new XU configuration properties for the Decision Server Runtime.