Hi, devs, I am curious about why if a request is timeout, the tcp connection will be closed?[1] ? When close a tcp connection, all the pending request will be return TimeoutException. Isn’t a waste?
I notice that connection.max.idle.ms <http://connection.max.idle.ms/>[2] will close idle connections after the number of milliseconds specified. Why we just return TimeoutException for the target request, and not close the connection until connection.max.idle.ms <http://connection.max.idle.ms/>? I do want to know the design idea. Much appreciate if anyone can answer me? Best, Hongshun [1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=55154824#KIP19AddarequesttimeouttoNetworkClient-Actionsafterrequesttimeout <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=55154824#KIP19AddarequesttimeouttoNetworkClient-Actionsafterrequesttimeout> [2] https://docs.confluent.io/platform/current/installation/configuration/producer-configs.html#connections-max-idle-ms