com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed was reported for two scenarios, one for Pega Platform™ version 8.4.2 and the other for Pega Platform™ version 8.4.6.
Scenario 1 Pega 8.4.2
Scenario 2 Pega 8.4.6
Related content
Scenario 1 Pega 8.4.2
This problem scenario was reported for Pega Platform version 8.4.2.
Scenario 1 Symptom
The Tomcat application server does not start. Clearing the cache of the temporary directory and restarting the VM does not resolve the problem. No recent changes have been made to the Pega deployment.
Scenario 1 Error
2022-11-16 09:16:27,146 [xxxxxx.xxxxxx.xxx.xx] [ STANDARD] [ ] [ ] ( etier.impl.EngineStartup) ERROR - PegaRULES initialization failed. Server: xxxxxxxx.xxxxxx.xxx.xx
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
*2022-11-16 09:16:28,468 [xxxxxx.xxxxxx.xxx.xxr] [ STANDARD] [ ] [ ] ( etier.impl.EngineStartup) ERROR - caught exception during engine shutdown :
com.pega.pegarules.pub.PRRuntimeException: This node not found in the database - Either the record was never saved or was deleted. Unable to join the cluster*
Scenario 1 Explanation
A Pegasystems defect
Setting the com.pega.pegarules.session.internal.mgmt.base.AbstractPageDirectory logger value to DEBUG causes Pega startup to fail.
Scenario 1 Solution
The Log Categories pxDataPages.Editable and pxDataPages.ReadOnly contain references to the com.pega.pegarules.session.internal.mgmt.base.AbstractPageDirectory logger.
Remove pxDataPages.Editable and pxDataPages.ReadOnly Log Categories:
--delete from your_dataschema.pr_data WHERE pxinsname in ('PXDATAPAGES.READONLY','PXDATAPAGES.EDITABLE') and pxobjclass = 'Data-Logger-Category';
Scenario 2 Pega 8.4.6
This problem scenario was reported for Pega Platform 8.4.6 on Pega Cloud 2.23.2.
Scenario 2 Symptom
After installing the CVE I22 hotfix, restart of the PegaAppTier, PegaUtiltier, and PegaStreamTier failed. The nodes were unstable. One node among the three tiers returned 500 NPEs.
Scenario 2 Errors
Log errors for one node among three nodes returns many NPEs of which the following is a partial list.
2022-11-12 17:53:05,213 [t-1.compute.internal] [ STANDARD] [ ] [ ] (gmt.base.AbstractPageDirectory) DEBUG - Classless page creation callstack
java.lang.Throwable: null
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
Caused by: java.lang.NullPointerException
2022-11-12 17:53:05,215 [AD_DECLARATIVECOMMON] [ ] [ ] [ ] (gmt.base.AbstractPageDirectory) DEBUG - Classless page creation callstack
java.lang.Throwable: null
2022-11-12 17:53:15,220 [t-1.compute.internal] [ STANDARD] [ ] [ ] ( pega.highavailability.quiesce) WARN - [updateActiveUserCount] Couldn't open the Node Page and hence not updating the active user
2022-11-12 17:53:15,223 [t-1.compute.internal] [ STANDARD] [ ] [ ] ( pega.highavailability.quiesce) WARN - [setRunState] Couldn't open the Node Page and hence not updating the RunState
2022-11-12 17:53:15,235 [t-1.compute.internal] [ STANDARD] [ ] [ ] (nternal.PRClusterHazelcastImpl) INFO - Hazelcast Shutting Down
2022-11-12 17:53:15,236 [t-1.compute.internal] [ STANDARD] [ ] [ ] (uster.internal.ClusterProvider) INFO - Disconnecting local member, Member: [name=util-i-0e52d4f336128f060, address=ip-10-123-24-12.eu-west-1.compute.internal/10.123.24.12:5701, uuid=c717a2c0-011b-4e22-b1da-0546ccc069af, mode=SERVER], from cluster 9e0d20d5497646e64ae5c8141a49de6e.
2022-11-12 17:53:15,301 [t-1.compute.internal] [ STANDARD] [ ] [ ] ( DistributedDiagnostics) INFO - Shutting down cluster provider: HazelcastEmbeddedClusterProvider
2022-11-12 17:53:16,423 [t-1.compute.internal] [ STANDARD] [ ] [ ] ( DistributedDiagnostics) INFO - Shutting down cluster provider: HazelcastEmbeddedClusterProvider
2022-11-12 17:53:16,425 [t-1.compute.internal] [ STANDARD] [ ] [ ] ( etier.impl.EngineImpl) ERROR - doStartup: ThreadContainer not null on exit -- clearing.
2022-11-12 17:53:16,425 [t-1.compute.internal] [ STANDARD] [ ] [ ] (ervlet.WebAppLifeCycleListener) INFO - Push is disabled!
2022-11-12 17:53:16,425 [t-1.compute.internal] [ STANDARD] [ ] [ ] (ervlet.WebAppLifeCycleListener) ERROR - Enterprise tier failed to initialize properly, PegaRULES not available
2022-11-12 17:53:16,425 [t-1.compute.internal] [ STANDARD] [ ] [ ] (ervlet.WebAppLifeCycleListener) INFO - Web Tier initialization is complete.
Scenario 2 Explanation
A Pegasystems defect
NPE is thrown from the class AbstractPageDirectory. Investigation of the AbstractPageDirectory class at Line 1273 shows that it is trying to use the class name on the Process Identifier (PID) variable, which results in the NPE. Enabling the DEBUG log level for this class results in the NPE.
Scenario 2 Solution
For Pega Platform 8.4.6, install HFIX-84716.
This issue is resolved in Pega Platform versions 8.7.5, 8.8.2, and Pega Infinity ’23, the Clipboard feature.
Related content
Pega Platform 8.4 Installation Guide for Tomcat and Oracle, the section Configuring logging
Debug applications more efficiently by grouping loggers