Transactions are not inserted into to the TDR in SAS® OnDemand Decision Engine after a "No more data to read from socket..." message occurs


After a temporary database connection interruption, SAS OnDemand Decision Engine reconnects to the database and transaction processing continues. However, the transactions might no longer be inserted into the Transaction Database Repository (TDR). 

You can determine if SAS OnDemand Decision Engine lost connection to the database server by reviewing the messages in the log file. The following log messages are for Oracle. The log messages for IBM DB2 and PostgreSQL databases are similar.

2025-09-14T10:49:37,923 [Engine 30] INFO  SQLMEHConnection [16] fetch failed (reconnecting). java.sql.SQLRecoverableException: No more data to read from socket java.sql.SQLRecoverableException: No more data to read from socket

        at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall
(T4CMAREngineNIO.java:784)
~[ojdbc8.jar:19.3.0.0.0]

2025-09-14T10:50:38,255 [Engine 30] FATAL SQLMEH [MEH] disabled at='20250914T1250.38,254Z' reason="connect failed. java.sql.SQLRecoverableException: Listener refused the connection with the following error:

ORA-12514, TNS:listener does not currently know of service requested in connect descriptor"

2025-09-14T10:50:38,257 [Engine 30] WARN  TRANSACTION_FAILED elapsed=60,335.5ms cmx_tran_id=************* smh_acct_type="CS" smh_activity_type="CA" smh_rtn_code="12" smh_reason_code="NMEH"

com.sas.finance.fraud.engine.meh.MEHException: No MEH

        at com.sas.finance.fraud.engine.meh.sql.SQLMEHConnection.fetchFromStore
(SQLMEHConnection.java:635
)

Workaround

Restart SAS OnDemand Decision Engine to circumvent this issue.