Support Article

PegaRULES initialization fails with error message in log

SA-14866

Summary



When trying to start the tomcat server, PegaRULES initialization failed error message is generated.

After refreshing the environment with an old database backup, the below error is received.

Status fail
Message There has been an issue; please consult your system administrator
Operator ID Unauthenticated or not available
Requestor ID No ID available
Timestamp Wed Sep 16 23:47:06 UTC 2015
Engine Version PegaRULES 7.10 ML8 (coreAssemblyCached_718_675)



Error Messages



1.
2015-09-16 06:08:47,658 [LOAD_PEGACONCLUSIONS] [  STANDARD] [                    ] (dictionary.ConclusionCacheImpl) INFO    -  Starting conclusion pre-load...
2015-09-16 06:08:49,599 [] [  STANDARD] [                    ] (res.CacheDataToCandidateMapper) WARN    -  Unable to load RULE-OBJ-ACTIVITY MOVERULESTORS #20150508T074713.618 GMT due to Database-BadClassDef Work; This may cause the wrong rule to run during rule execution.
2015-09-16 06:08:51,363 [] [  STANDARD] [                    ] (ternal.vtable.VirtualTableImpl) INFO    -  ...Finished. Preloaded 16.6MB for 68531 rules in 5741 ms
2015-09-16 06:08:52,824 [1] [  STANDARD] [                    ] (   internal.mgmt.PREnvironment) ERROR   -  com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
2015-09-16 06:08:52,927 [] [  STANDARD] [                    ] (      etier.impl.EngineStartup) ERROR   -  PegaRULES initialization failed. Server: 
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
                at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:388)
               ...

                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
                at java.util.concurrent.FutureTask.run(FutureTask.java:262)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                at java.lang.Thread.run(Thread.java:745)
Caused by: com.pega.pegarules.pub.PRRuntimeException: Method Invocation exception
                at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1272)
                at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1008)
                at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:841)
                at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:380)
                ... 28 more
Caused by: java.lang.reflect.InvocationTargetException
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:606)
                at com.pega.pegarules.session.internal.PRSessionProviderImpl.performTargetActionWithLock(PRSessionProviderImpl.java:1270)
                ... 31 more
Caused by: com.pega.pegarules.pub.context.PRSecurityException: Unable to construct authorization core due to authorization failure
                               ... 36 more
Caused by: com.pega.pegarules.pub.context.InvalidConfigurationException: No such Rule-Application instance: PegaRULES:06.02
From: (A9C8CC9DF1E6B8D1382FFA76508038530) 
                at com.pega.pegarules.session.internal.authorization.context.RuleApplicationFlattener$DbAppReader.toClipboardPage(RuleApplicationFlattener.java:278)
                at com.pega.pegarules.session.internal.authorization.context.RuleApplicationFlattener.addApplicationNode(RuleApplicationFlattener.java:201)
                at com.pega.pegarules.session.internal.authorization.context.RuleApplicationFlattener.<init>(RuleApplicationFlattener.java:69)
                at com.pega.pegarules.session.internal.authorization.context.ContextUtils.getAppStackForApplication(ContextUtils.java:467)
                at com.pega.pegarules.session.internal.authorization.context.BasicApplicationContext.createAppStackForAccessGroup(BasicApplicationContext.java:660)
                at com.pega.pegarules.session.internal.authorization.context.BasicApplicationContext.updateDefinition(BasicApplicationContext.java:491)
                at com.pega.pegarules.session.internal.authorization.context.BasicApplicationContext.<init>(BasicApplicationContext.java:159)
                at com.pega.pegarules.session.internal.authorization.context.GlobalContextCache.getBasicApplicationContext(GlobalContextCache.java:546)
                at com.pega.pegarules.session.internal.authorization.context.GlobalContextCache.getLocalizedApplicationContext(GlobalContextCache.java:582)
                at com.pega.pegarules.session.internal.authorization.context.AuthorizationContextManagerImpl.getContext(AuthorizationContextManagerImpl.java:132)
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.getContext(SessionAuthorization.java:554)
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.getContext(SessionAuthorization.java:527)
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.reset(SessionAuthorization.java:461)
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.<init>(SessionAuthorization.java:245)
                ... 60 more
2015-09-16 06:08:52,930 [1] [  STANDARD] [                    ] (      etier.impl.EngineStartup) INFO    -  PegaRULES initialization failed. Server:
2015-09-16 06:08:53,031 [] [  STANDARD] [                    ] (ervlet.WebAppLifeCycleListener) ERROR   -  Enterprise tier failed to initialize properly, PegaRULES not available
2015-09-16 06:08:53,139 [] [  STANDARD] [                    ] (ervlet.WebAppLifeCycleListener) INFO    -  Web Tier initialization is complete.
2015-09-16 06:08:58,986 [LOAD_PEGACONCLUSIONS] [  STANDARD] [                    ] (dictionary.ConclusionCacheImpl) INFO    -  Pre-Loaded 25803 conclusions
2015-09-16 06:08:58,986 [LOAD_PEGACONCLUSIONS] [  STANDARD] [                    ] (   external.async.IStartupTask) INFO    -  load pegaConclusions ..done




 
2.

2015-09-16 06:25:18,236 [] [          ] [                    ] (  internal.access.DatabaseImpl) INFO    -  Checking schema PEGARULES for obsolete triggers
2015-09-16 06:25:38,637 [] [          ] [                    ] (  internal.access.DatabaseImpl) INFO    -  No obsolete triggers detected
2015-09-16 06:25:44,679 [] [          ] [                    ] (      etier.impl.EngineStartup) ERROR   -  PegaRULES initialization failed. Server: 
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
                at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:394)
                at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1998)
                at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:664)
                at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:165)
                at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:138)
                at com.pega.pegarules.web.servlet.WebAppLifeCycleListener._contextInitialized_privact(WebAppLifeCycleListener.java:311)
                at com.pega.pegarules.web.servlet.WebAppLifeCycleListener.contextInitialized(WebAppLifeCycleListener.java:218)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                at java.lang.Thread.run(Thread.java:745)
Caused by: com.pega.pegarules.pub.context.PRSecurityException: Unable to construct authorization core due to authorization failure
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.<init>(SessionAuthorization.java:249)
                at com.pega.pegarules.session.internal.mgmt.PRRequestorBase.allocateSessionAuthorization(PRRequestorBase.java:539)
                at com.pega.pegarules.session.internal.mgmt.PRRequestorImpl.allocateSessionAuthorization(PRRequestorImpl.java:2009)
                               ... 28 more
Caused by: com.pega.pegarules.pub.context.InvalidConfigurationException: Data-Admin-Requestor instance "" not found
From: (BC2AB12FBA5EAA031EBB997E4EFF343E3) 
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.reset(SessionAuthorization.java:450)
                at com.pega.pegarules.session.internal.authorization.SessionAuthorization.<init>(SessionAuthorization.java:245)
                ... 49 more
2015-09-16 06:25:44,893 [] [          ] [                    ] (      etier.impl.EngineStartup) INFO    -  PegaRULES initialization failed. Server: 
2015-09-16 06:25:45,399 [] [          ] [                    ] (ervlet.WebAppLifeCycleListener) ERROR   -  Enterprise tier failed to initialize properly, PegaRULES not available
2015-09-16 06:25:45,599 [] [          ] [                    ] (ervlet.WebAppLifeCycleListener) INFO    -  Web Tier initialization is complete.
2015-09-16 07:17:02,564 [] [          ] [                    ] (ervlet.WebAppLifeCycleListener) INFO    -  System Start Date: Wed Sep 16 07:17:02 UTC 2015



Steps to Reproduce



There is no specific use case identified to replicate the behavior.


Root Cause



1. The stack trace shows that PRPC is failing to initialize a batch requestor for the given system name configuration. The BATCH requestor type definition refers an accessgroup. The access group is pointing to an invalid application definition.

By running the query, select * from pr4_rule where pzinskey like '%RULE-APPLICATION PegaRULES:06.02%' to see if the application definition actually exists. If it does not exist, the application definition can be re-imported using the command line utility, prpcutils. This would use prpc as the systemname, so the engine start-up should go through fine. If not, one more option could be to bring up a node specifying the prconfig, identification/systemName as prpc and edit the offending accessgroup

2. PRPC does not initialize if the system name does not exist in the PR_DATA_ADMIN, the behaviour can be noticed if the user deletes browser requestor type or the access group (Developers) mistakenly. User can run the query from the DB to verify the same;

select distinct pysystemname from pr_data_admin where pxobjclass like 'Data-Admin-Requestor';
select distinct from pr_data_admin where pyaccessgroup like 'Developers';


Resolution



Browser Requester Type unauthenticated access group is wrong for “pega” system name. Correct this configuration.

 

Suggest Edit

Published January 31, 2016 - Updated October 8, 2020


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.