Support Article

Failed to index instance errors on Rule-Message



In Production environment, periodically see more than a thousand BadClassDefinitionException, always related to indexing instances of Rule-Message

Error Messages

The name of the Rule-Message varies, but the rest of the error is the same each time. This is one example:

16:15:00,207 INFO [stdout] (Dispatcher-Thread-141) 2016-05-14 16:15:00,205 [-threads-1566113573)] [ STANDARD] [ ] [ PegaRULES:07.10] ( WARN - Failed to index instance with key [RULE-MESSAGE A SHORT DESCRIPTION IS REQUIRED #20100430T143228.754 GMT]

16:15:00,207 INFO [stdout] (Dispatcher-Thread-141) Attempting to access a rule with a bad defined-on class: <blank>. problem encountered when opening instance RULE-MESSAGE A SHORT DESCRIPTION IS REQUIRED #20100430T143228.754 GMT by handle

Steps to Reproduce

Whenever reindexer runs.

Root Cause

A defect or configuration issue in the operating environment.  The pzupgraderulemessages activity was introduced in 7.1.7 to recalculate the pzinskeys of Rule-Messages instances.  During the upgrade besides migrating these rules to the new table pr4_rule_message table the pyclassname was added to the pzInsKey.  From the error messages we can see that for these 1039 rules the format of the pzInsKey was not done.   Since it is impossible to log into Pega7 with a 6.x context due to the redesign of the UI generation that occurred for 7.1 the pzUpgradeRuleMessage activity only 
added updated application specific and Pega7 Rule Messages.   This means that the existing Pega 6.x rule messages will fail to re-index because they are not in the correct format.


Perform the following local-change:
Modify the pzUpgradeRuleMessages activity to also update the pre 7.x Pega Rule Messages and then execute it.  

The cleanup script that is found in the scripts directory of the media could also have been used to cleanup the 6.x rules.



Published December 2, 2016 - Updated December 4, 2016

Have a question? Get answers now.

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