Support Article

Unable to restart a node in a cluster

SA-30639

Summary



A cluster environment consists of two server machines. Each machine runs two JVMs. The servers are not able to initialize, throwing an error indicating that the explicit temp directory is being used by another node. The correct Node ID hash could not be correctly generated either.


Error Messages



2016-11-18 09:49:03,528 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) ERROR - Another node is using the same explicit temp directory on this system as this node (same SysNodeID Hash is being generated). Please change the temp directory on this node and restart
--------------------------

2016-11-18 09:49:01,533 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) INFO - Starts joining cluster
2016-11-18 09:49:01,533 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) INFO - Ends joining cluster
2016-11-18 09:49:01,533 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) INFO - Clustering technology: hazelcast
2016-11-18 09:49:02,932 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) INFO - Checking Cluster consistency
2016-11-18 09:49:03,490 [ A_MACHINE] [ STANDARD] [ ] [ ] (nternal.PRClusterHazelcastImpl) WARN - Node b5ad62da0461a6fabadde0b4e3d9ab46 - [Member [aa.bbb.ccc.dd]:5703] is not listed as a node in PRPC. If the node is new and is also starting, then ignore this warning. Otherwise, either this node or b5ad62da0461a6fabadde0b4e3d9ab46 is connecting to the wrong cluster.
2016-11-18 09:49:03,504 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) INFO - Establishing node permanance
2016-11-18 09:49:03,528 [ A_MACHINE] [ STANDARD] [ ] [ ] ( internal.mgmt.PRNodeImpl) ERROR - Another node is using the same explicit temp directory on this system as this node (same SysNodeID Hash is being generated). Please change the temp directory on this node and restart
2016-11-18 09:49:03,533 [ A_MACHINE] [ STANDARD] [ ] [ ] ( etier.impl.EngineStartup) ERROR - PegaRULES initialization failed. Server: A_MACHINE
com.pega.pegarules.pub.context.InitializationFailedError:
at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.checkClusterConsistency(PRNodeImpl.java:2639)
at com.pega.pegarules.session.internal.mgmt.PREnvironment.getThreadAndInitialize(PREnvironment.java:384)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.getThreadAndInitialize(PRSessionProviderImpl.java:2005)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineStartup.initEngine(EngineStartup.java:666)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._initEngine_privact(EngineImpl.java:172)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.doStartup(EngineImpl.java:145)
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 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.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:411)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:224)
at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:273)
at com.pega.pegarules.internal.web.servlet.WebAppLifeCycleListenerBoot.contextInitialized(WebAppLifeCycleListenerBoot.java:83)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:968)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1646)
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:744)
2016-11-18 09:49:03,535 [ A_MACHINE] [ STANDARD] [ ] [ ] ( etier.impl.EngineStartup) INFO - PegaRULES initialization failed. Server: A_MACHINE
2016-11-18 09:49:03,629 [ A_MACHINE] [ STANDARD] [ ] [ ] (ervlet.WebAppLifeCycleListener) ERROR - Enterprise tier failed to initialize properly, PegaRULES not available
2016-11-18 09:49:03,658 [ A_MACHINE] [ STANDARD] [ ] [ ] (ervlet.WebAppLifeCycleListener) INFO - Web Tier initialization is complete.
Nov 18, 2016 9:49:08 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 114890 ms
2016-11-18 09:51:48,677 [ocalhost-startStop-2] [ ] [ ] [ ] ( etier.impl.EngineStartup) WARN - PegaRULES shutdown initiated.
2016-11-18 09:51:48,959 [ocalhost-startStop-2] [ STANDARD] [ ] [ ] ( internal.mgmt.Executable) ERROR - Exception
java.lang.NullPointerException
at com.pega.pegarules.generation.internal.PRGenProviderImpl.get(PRGenProviderImpl.java:474)


Steps to Reproduce



Restart the node.


Root Cause



The explicittempdir paths are not unique across all the JVMs.

Resolution



Change the explicittempdir path and ensure that the paths are unique across all the server nodes.

Find the location of the explicittempdir path in the documentation of the application server that you are using to deploy the Pega platform.
For example, on Tomcat it is specified in the context.xml file.

Published November 21, 2016 - Updated May 17, 2018


100% found this useful

Have a question? Get answers now.

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