Support Article

PegaRULES initialization fails after Pega7 upgrade

SA-8670

Summary



After upgrading PRPC 6.1 SP2 to Pega 7.1.7, user has reported that PRPC engine is not initializing.

Error Messages



2015-04-11 04:45:05,725 [        server001] [  STANDARD] [                    ] (   external.async.IStartupTask) INFO    - load Declarative Page Definition Cache  ..done
2015-04-11 04:45:07,687 [        server001] [  STANDARD] [                    ] (      internal.mgmt.PRNodeImpl) INFO    - Node Identification: "server001 DevNode 2015-04-11 09:44:05.268 GMT"; Node Id: 23ba308ab90e44cb7717003ea1e4fdd9
2015-04-11 04:45:08,136 [        server001] [  STANDARD] [                    ] (      internal.mgmt.Executable) ERROR   - Exception
java.lang.NullPointerException
 at com.pega.pegarules.generation.internal.PRGenProviderImpl.get(PRGenProviderImpl.java:474)
 at com.pega.pegarules.session.internal.mgmt.Executable.evaluateWhen(Executable.java:4051)
 at com.pega.pegarules.exec.internal.basic.dictionary.AccessInfoConclusion.evaluateConditions(AccessInfoConclusion.java:936)
 at com.pega.pegarules.exec.internal.basic.dictionary.AccessInfoConclusion.evaluate(AccessInfoConclusion.java:808)
 at com.pega.pegarules.session.internal.authorization.access.AccessEvaluator.haveAccess(AccessEvaluator.java:179)
 at com.pega.pegarules.session.internal.authorization.access.AccessEvaluator.haveAccessWithFrame(AccessEvaluator.java:607)
 at com.pega.pegarules.session.internal.authorization.Authorization.haveAccessWithFrame(Authorization.java:1913)
 at com.pega.pegarules.data.internal.access.Saver.checkSecurity(Saver.java:713)
 at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:602)
 at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4930)
 at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4916)
 at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4908)
 at com.pega.pegarules.exec.internal.basic.SystemSettingsImpl.setDynamic(SystemSettingsImpl.java:355)
 at com.pega.pegarules.cluster.internal.PRClusterImpl.getClusterName(PRClusterImpl.java:311)
 at com.pega.pegarules.cluster.internal.PRClusterHazelcastImpl.configureHazelcast(PRClusterHazelcastImpl.java:443)
 at com.pega.pegarules.cluster.internal.PRClusterHazelcastImpl.initialize(PRClusterHazelcastImpl.java:354)
 at com.pega.pegarules.cluster.internal.PRClusterImpl.getInstance(PRClusterImpl.java:133)
 at com.pega.pegarules.cluster.internal.PRClusterProviderImpl.getInstance(PRClusterProviderImpl.java:87)
 at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.joinCluster(PRNodeImpl.java:2347)
 at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.initializeSystem(PRNodeImpl.java:991)
 at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:371)
 at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1905)
 at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:657)
 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.session.internal.engineinterface.etier.ejb.EngineBean.doStartup(EngineBean.java:121)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
 at java.lang.reflect.Method.invoke(Method.java:611)
 at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:338)
 at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:379)
 at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:216)
 at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingException(AppServerBridgeToPega.java:238)
 at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.doStartup(EngineBeanBoot.java:130)
 at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.doStartup(Unknown Source)
 at com.pega.pegarules.web.servlet.WebAppLifeCycleListener._contextInitialized_privact(WebAppLifeCycleListener.java:280)
 at com.pega.pegarules.web.servlet.WebAppLifeCycleListener.contextInitialized(WebAppLifeCycleListener.java:187)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
 at java.lang.reflect.Method.invoke(Method.java:611)
 at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:338)
 at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:379)
 at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:216)
 at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:265)
 at com.pega.pegarules.internal.web.servlet.WebAppLifeCycleListenerBoot.contextInitialized(WebAppLifeCycleListenerBoot.java:83)
 at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1699)
 at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:414)
 at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
 at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
 at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
 at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
 at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
 at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177)
 at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
 at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
 at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run(ApplicationMgrImpl.java:2195)
 at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5477)
 at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5603)
 at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
 at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2200)
 at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:435)
 at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
 at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:378)
 at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:126)
 at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:984)
 at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:502)
 at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1865)

2015-04-11 04:45:08,191 [        server001] [  STANDARD] [                    ] (      etier.impl.EngineStartup) ERROR   - PegaRULES initialization failed. Server: server001
com.pega.pegarules.pub.context.InitializationFailedError: PRNodeImpl init failed
 at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:392)
 at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:1905)
 at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:657)
 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)


Steps to Reproduce



Upgrade PRPC 6.1 SP2 to Pega 7.1.7 and re-start JVM.

Root Cause



Incorrect "identification/systemname" is configured in the prconfig.xml file (was set to 'DevNode') which is overwriting the system name configured. For a configured system name, there needs be at-least four Requestor Type (Records>SysAdmin>Requestor Type) records (APP, BATCH, BROWSER and Portal) for PRPC engine to initialize properly.
Default system name 'prpc' set in a Dynamic System Setting is overwritten in a configuration file, which is set to 'DevNode'
.



Resolution



For PRPC to initialize properly, user must configure “<env name="identification/systemname" value="prpc"/>” in the prconfig.xml, so that PRPC can use the default system name (“prpc”) and start the node.

Now, user needs to create four Requestor Type (APP, BATCH, BROWSER and Portal) for the desired System Name and update either the dynamic system setting or prconfig.xml file and restart the node.
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.