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

Reply via email to