RODA: what is the best way to trap connection timeout/connection refused

we suffer from intermittent connection lost errors in our client app
it seems random (in the fact that we can’t reproduce and it only occurs every few days)
so what is the best approach to detect why a connection would time out or gets refused…


what channels (http/tcp/superhttp/supertcp/etc) are you using?

with disablenagle and keepalive true, listenqueue 15 and terminatewaittime 5000

now this is a rather new issue, and the origin lies most probably in changes on our side, but we don’t see anything that could cause the connection issue
connection refused is to be neglected, that is an issue when the server isn’t up
but we see 2 errors that shouldn’t happen, both in main thread and non main thread:
Socket Error # 10054 Connection reset by peer.
Socket Error # 10060 Connection timed out
what we see so far is that the timed out is related also to some db action, in a worker thread, and really small dataset

that said: our connection pool is set tot max 20 connections and poolbehaviour is pbRaiseError, what happens if 20 connections are exceeded?

it is also something that happens very sporadic, and it can occur very fast after starting the app or after hours of working without issues…

what is the default TROIndyTcpChannel timeout?
(indyclient->readtimeout property is set to 0)


The error will be raised:

            pbRaiseError: DAError(True, err_MaxPoolSizeReached);

default value is IdTimeoutDefault (i.e. -1)