Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Rule assembly error during WHEN rule execution

SA-1015

Summary



We recently migrated our PRPC 6.1 SP2 application to new version of Oracle and a new version of Websphere.
After that, in a specific flow action when system is trying to execute a when rule, it is throwing Rule assembly exception.

As per our analysis, when PRPC is trying to pick assembled class for SWIF_TYPE property from dictionary cache, erroneously it is trying to pick another property rule with name SWIFTTYPE.

Below are the pzInsKey of property rules SWIF_TYPE, SWIFTTYPE
SWIF_TYPE: RULE-OBJ-PROPERTY XXXX-WORK-PAY- SWIF_TYPE #20110901T114007.029 GMT
SWIFTTYPE: RULE-OBJ-PROPERTY XXXX-WORK-PAY- SWIFTTYPE #20110901T114005.669 GMT

But we could see rule assembly is trying to pick rule, RULE-OBJ-PROPERTY XXXX-WORK-PAY- SWIF_TYPE #20110901T114005.669 GMT which doesn’t exist at all in the system.
[ the timestamp used is the one for SWIFTTYPE instead of the desired SWIF_TYPE ]

We could see this issue is happening in both during Design time and runtime. During design time, rule is not getting opened in designer studio.

-------------------
Pre migration:
- Database - Oracle 10.1.0.4.0
- JDBC Driver - Oracle JDBC 11.1.0.6.0
- Websphere 6.1

Post migration:
- Database - Oracle 11.2.0.3.0
- JDBC Driver - Oracle 11.2.0.3.0
- Websphere 7.0


Error Messages



1.
2014-07-14 11:10:10,784 [ WebContainer : 3] [ Developer] [
xxxxxxxx:01.03] (ngineinterface.service.HttpAPI) ERROR xxxxxxxx|xxxxxxxx xxxxxxxx - xxxxxxxx: com.pega.pegarules.pub.PRRuntimeError
com.pega.pegarules.pub.PRRuntimeError: PRRuntimeError
<...>
Caused by: com.pega.pegarules.pub.PRRuntimeException: property definition open failed for RULE-OBJ-PROPERTY XXXX-WORK-PAY- SWIF_TYPE #20110901T114005.669 GMT
at com.pega.pegarules.data.internal.dictionary.DictionaryCacheImpl.getPropertyDefinitionByKey(DictionaryCacheImpl.java:251)
at com.pega.pegarules.data.internal.dictionary.DictionaryImpl.getPropertyDefinition(DictionaryImpl.java:1021)
at com.pega.pegarules.data.internal.dictionary.ClassInfoImpl.getPropertyDefinition(ClassInfoImpl.java:930)
at com.pega.pegarules.data.internal.dictionary.PropertyInfoPublic.<init>(PropertyInfoPublic.java:229)
at com.pega.pegarules.data.internal.dictionary.ClassInfoImpl.getPropertyInfo(ClassInfoImpl.java:796)
at com.pegarules.generated.pega_rules_utilities.getPropertyField06_01_01(pega_rules_utilities.java:6414)
at com.pegarules.generated.pega_rules_utilities.getPropertyField(pega_rules_utilities.java:6440)
at com.pegarules.generated.pega_rules_utilities.getLabel06_01_01(pega_rules_utilities.java:5815)
<etc>

2. UnResolvedAssemblyError


Steps to Reproduce



Existing system has gone through multiple upgrades
1. v5.5 to v6.1 SP2
2. Current migration is Pegarules DB x86 migration


Root Cause



The root cause of this problem is defect/misconfiguration in the PRPC operating environment. 



Resolution



This issue is resolved by hotfix item HFIX-9879.
This hot fix amends an internal API call in 
RULE-UTILITY-FUNCTION UTILITIES GETPROPERTYFIELD--(STRING,STRING,STRING,PUBLICAPI).
 

Published June 12, 2015 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us