Support Article

Pulse status has changed to critical for one of the node

SA-37485

Summary



Pulse status change observed by "AES", pulse status has changed to critical for one of the node.

Error Messages



2017-04-17 16:25:58,153 [ PegaRULES-Batch-16] [ STANDARD] [icalProgram:01.01.01] (ernal.async.BatchRequestorTask) ERROR - Batch activity "Code-.SystemPulse" threw:
com.pega.pegarules.pub.PRRuntimeException: [ Pulse ] The System Pulse encountered an error. Contact your PegaRULES and database administrators immediately.
at com.pegarules.generated.activity.ra_action_systempulse_dec5bf57d9300f0d2fd42b362a303e1d.step1_circum0(ra_action_systempulse_dec5bf57d9300f0d2fd42b362a303e1d.java:231)
at com.pegarules.generated.activity.ra_action_systempulse_dec5bf57d9300f0d2fd42b362a303e1d.perform(ra_action_systempulse_dec5bf57d9300f0d2fd42b362a303e1d.java:72)
at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3101)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:696)
at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:577)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:837)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:1081)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:812)
at com.pega.pegarules.session.internal.async.BatchRequestorTask.run(BatchRequestorTask.java:586)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:991)
at com.pega.jsr166backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:532)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.pega.pegarules.pub.database.ConnectionException: Problem encountered executing a stored procedure: code: 17410 SQLState: 08000 Message: No more data to read from socket
From: (B6C5892149E86FAA78B3B91EC7D357A8B)
SQL: {call sppr_sys_updatescache_gettime(?,?,?)}

Caused by SQL Problems.
Problem #1, SQLState 08000, Error code 17410: java.sql.SQLRecoverableException: No more data to read from socket
at com.pega.pegarules.data.internal.access.ExceptionInformation.createExceptionDueToDBFailure(ExceptionInformation.java:163)
at com.pega.pegarules.data.internal.access.DatabaseImpl.executeStoredProc(DatabaseImpl.java:9842)
at com.pega.pegarules.data.internal.access.DatabaseImpl.performSystemPulse(DatabaseImpl.java:8284)
at com.pega.pegarules.data.internal.access.DatabaseImpl.performSystemPulse(DatabaseImpl.java:8185)
at com.pegarules.generated.activity.ra_action_systempulse_dec5bf57d9300f0d2fd42b362a303e1d.step1_circum0(ra_action_systempulse_dec5bf57d9300f0d2fd42b362a303e1d.java:228)
... 11 more
Caused by: java.sql.SQLRecoverableException: No more data to read from socket
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1157)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:290)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:204)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1041)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1329)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3584)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3685)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4714)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1376)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
at com.pega.pegarules.data.internal.access.DatabasePreparedStatementImpl.execute(DatabasePreparedStatementImpl.java:980)
at com.pega.pegarules.data.internal.access.DatabaseImpl.executeStoredProc(DatabaseImpl.java:9796)
... 14 more


Steps to Reproduce



Not Applicable

Root Cause



A defect or configuration issue in the operating environment From the provided screen shot and the log it is observed that database (DB) was not reachable. 'No more data to read from socket' error is observed in the logs.

Resolution



Make the following change to the operating environment:

1. Make the following changes in the Oracle sqlnet.ora file:

SQLNET.ALLOWED_LOGON_VERSION_SERVER = 10
SQLNET.SEND_TIMEOUT=600
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

2. Make the following Tomcat DBCP pool configuration changes for the PegaRULES and custom datasource:
Parameter Default value (if not specified) Recommended value
maxConnLifetimeMillis -1 (infinite) 1800000
testOnCreate false true
testOnBorrow true true
testWhileIdle false true
timeBetweenEvictionRunsMillis -1 (No Idle evictor thread will run) 15000
minEvictableIdleTimeMillis 1000 * 60 * 30 15000
validationQuery NONE select 1 from dual
removeAbandonedOnMaintenance false true
removeAbandonedTimeout 300 1800

Published May 4, 2017 - Updated May 10, 2017

Have a question? Get answers now.

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