Support Article
Picking the wrong decision tree
SA-19519
Summary
After importing rules into Production, on some of the nodes in the cluster; the previous version of the rule is still executing.
Error Messages
No error message.
Steps to Reproduce
- Import some rules.
- Observe the changes are not properly propagated to all nodes.
Root Cause
A defect in Pegasystems’ code or rules. There is a potential race condition that can cause the system pulse to not process some rules after import.
The following system setting delays the pulse from processing the new entries for a number of milliseconds. When set large enough to ensure the import is complete, it avoids the issue entirely.
set "systempulse/scanoffsetms" to 30000
To fix the rules which have the incorrect cache entries, use System Management Application (SMA) tool to fix them.
Resolution
In order to fix the issue:
1. Use SMA tool.
2. Connect to the affected nodes, go to "Advanced > Virtual Rule Table Cache Management.
3. Enter the virtual rule key for the rule having the problem.
4. Open that rule in the developer portal and look into the XML to find the parts of the rule that make up the key.
5. The key is <pxObjClass>:<pxInsId>. As an example, for the Out-of-the-box (OOTB) Decision tree rule pyCheckResolvedStatus, enter
Rule-Declare-DecisionTree:!PYCHECKRESOLVEDSTATUS
6. Click "Virtual Rule TableCache Detail" button, and all of the different cache versions of that rule displays; one must have more than one rule. If one does not find the rule, probably the key is mis-typed check it again carefully.
7. Click "ReassembleCandidates" button once the rule candidates appears, that will remove the older cached versions, and the next time the rule is referenced, a new cache entry is created, by using the latest version of the rule.
Published February 12, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.