[
https://issues.apache.org/jira/browse/IMPALA-13253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17896847#comment-17896847
]
YUBI LEE commented on IMPALA-13253:
-----------------------------------
Thanks [~joemcdonnell]. I adopt {{libkeepalive}} and resolved the zombie
connections with no sessions issue on impalad coordinators.
??It doesn't provide a way to tune the keepalive behavior (i.e. the keepalive
time, intervals, number of probes)??
Therefore, the {{libkeepalive}} solution might be better than use
{{setKeepAlive()}} function.
For fine tuning, {{TSocket}} should provide a way to set those configurations
through {{setsockopt()}}. Codes on apache thrift side should be modified.
https://github.com/apache/thrift/blob/v0.21.0/lib/cpp/src/thrift/transport/TSocket.cpp#L798-L825
> Add option to use TCP keepalives for client connections
> -------------------------------------------------------
>
> Key: IMPALA-13253
> URL: https://issues.apache.org/jira/browse/IMPALA-13253
> Project: IMPALA
> Issue Type: Task
> Components: Backend, Clients
> Affects Versions: Impala 4.5.0
> Reporter: Joe McDonnell
> Priority: Blocker
>
> A client can be disconnected without explicitly closing its TCP connection.
> This can happen if the client machine resets or there is a network
> disruption. In particular, load balancers can have an idle time that results
> in a connection becoming invalid. Impala can't really guarantee that the
> client will properly tear down its connection and the Impala side resources
> will be released.
> TCP keepalive would allow Impala to detect dead clients and close the
> connection. It also can prevent a load balancer from seeing the connection as
> idle. This can be important for clients that hold connections in a pool.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]