TCPTerminatedReadTimeoutExpired
I am receiving this alert every couple of minutes. I am trying to figure out what is causing this and if it is just the settings on my TCP operation or if this indicates an actual issue. Is it an issue with my framing (MLLP) or reply code actions (not set)? Something else?
Error:
ERROR <Ens>ErrTCPTerminatedReadTimeoutExpired: TCP Read timeout (30) expired waiting for terminator SegTerminatorAscii=13, on |TCP|7049|12692, data received =''
(alert request ID=2071)
Screenshot:

Here are the settings on my operation:
| Class Name | EnsLib.HL7.Operation.TCPOperation |
| Stay Connected | 5 |
| Connect Timeout | 5 |
| Reconnect Retry | 5 |
| Get Reply | True |
| Response Timeout | 30 |
| Read Timeout | 5 |
| Framing | MLLP |
| Pool Size | 1 |
| Save Replies | All |
| Default Char Encoding | latin1 |
| Retry Interval | 5 |
| Failure Timeout | -1 |
| Throttle Delay | 0 |
| Alert Retry Grace Period | 30 |
| Queue Count Alert | 30 |
| Queue Wait Alert |
60 |
| Alert On Error | True |
| Inactivity Timeout | 0 |
Anyone else ever have this? If so, any suggestions on how to address/handle it?
Comments
This typically means that the remote system has failed to send an HL7 ACK back within 30 seconds. If it is common for that system to take awhile to respond, you can increase "Response Timeout" from 30 sec to a higher value.
Thank you Alex. This is helpful and makes sense.
One of the obvious things I didn't catch while looking at this error is that we were actually queuing messages to them. I realized that after the fact, but still didn't know if it was due to framing or simply not receiving data back. Appreciate the insight!