Recently we have implemented the Direct TCP/IP CICS Sockets Server in our project.
Some transactions are encountering the below error:
TRLM0098 TASK=00091304 05/22/2018 11:00:51 TIRSIPIN SOCKET ERROR SELECT TIMEOUT
TRLM0071 TASK=00093749 05/22/2018 11:09:10 TIRSIPIN SOCKET ERROR SELECT TIMEOUT
TRLM0010 TASK=00088270 05/22/2018 15:24:55 TIRSIPIN SOCKET ERROR SELECT TIMEOUT
The error message indicates that the timeout parameter(s) in the CICS Sockets Server exit TIRSIPEX (Gen 8.x CEHBSAMP library) need to be modified.
The select timeout in TIRSIPEX is used by the server runtime to determine how long to wait for data to arrive on the socket before deciding not issue a socket READ/RECV. If the server manager select timeout in TIRSIPEX expires before the data from the client was able to be read, then the message "TIRSIPIN SOCKET ERROR SELECT TIMEOUT" will occur.
The fact that the problem only exists for some transactions is because those transactions have more data being sent from the client than others i.e. the server needs more time to read the data and therefore the select timeout needs to be larger to allow that.
In user exit TIRSIPEX increase the value of SELECT-TIMEOUT-SECS from default 0 to 1
(the value of SELECT-TIMEOUT-MICROSEC value can remain as the default of 100 milliseconds)
After edit of TIRSIPEX follow the steps to rebuild the code with MKUEXITS and deploy the new TIRSIPEZ DLL.