Support Article
Upgrade to 7.1.6 does not allow save-as of existing rules.
SA-1675
Summary
Post upgrade from 7.1.2 to 7.1.6, the user is unable to "save-as" rules to their ruleset versions.
On clicking on "save-as" user is not getting the list of available ruleset versions.
Error Messages
Exception caught while evaluating when
java.lang.NullPointerException
Steps to Reproduce
1. Upgrade the PRPC from 7.1.2 to 7.1.4.
2. Open any existing rule in the application.
3. Click on Save-as.Root Cause
The root cause of this problem is a defect in Pegasystems’ code/rules. The application is failing to validate its ruleset dependency chain. This happens because the rule utility function that verifies the dependency chain is looking for a property named 'pyRequiresRuleSetVersionPageList' (mode: page list) (added in 7.1) for the RSV's immediate dependencies. The dependency check starts at say XXX:01-01-01, goes to check its dependency of YYY:01-01-01 and stops there because it doesn't contain the aforementioned property.
YYY:01-01-01 Being a Previous 5.X application. It does contain the 'pyRequiresRuleSetVersion' property (containing the same information with a mode of value list).
The nature of this bug is that the dependency check is not backward compatible with old Rule-RuleSet-Version instances that do not contain the newer 'pyRequiresRuleSetVersionPageList' property.
Resolution
pzFilterAvailableRuleSetsForRecord is calling ---> pzFilterAvailableRuleSetVersionsForRecord (which in turn calling a when rule)--> pxAllowsRecordInRuleSet (which is getting the resultset from a function) --> pxAllowsRecordInRuleSet.
As all the rules are final user commented the steps 12,13 in pzFilterAvailableRuleSetsForRecord which actually perform the page remove of the rulesets by doing a private checkout of the rule. The same issue is fixed in PRPC 7.1.7.
Published January 31, 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.