Joe McDonnell has uploaded this change for review. ( http://gerrit.cloudera.org:8080/22254
Change subject: IN-PROGRESS: IMPALA-13253: Add option to enable keepalive for client connections ...................................................................... IN-PROGRESS: IMPALA-13253: Add option to enable keepalive for client connections Client connections can drop without an explicit close. This can happen if client machine resets or there is a network disruption. Some load balancers have an idle timeout that result in the connection becoming invalid without an explicit teardown. With short idle timeouts (e.g. AWS LB has a timeout of 350 seconds), this can impact many connections. This adds the enable_client_tcp_keepalive startup option to control whether to turn on TCP keepalive for client connections. It also provides startup options to tune the parameters for TPC keepalive: client_keepalive_idle_time_sec - idle time before doing keepalive probes client_keepalive_retry_time_sec - time between keepalive probes client_keepalive_num_retries - number of keepalive probes Thrift has preexisting support for turning on keepalive, but that support uses the OS defaults for keepalive settings. To add the ability to tune the keepalive settings, this implements a wrapper around the Thrift socket (both TLS and non-TLS) and manually sets the keepalive options on the socket (mirroring code from Kudu's Socket::SetTcpKeepAlive). This currently does not turn it on by default, but that may change in a future version of this patch. TODO: - Write unit tests for this - Decide on default values Change-Id: I9e50f263006c456bc0797b8306aa4065e9713450 --- M be/src/rpc/thrift-server.cc M be/src/rpc/thrift-server.h M be/src/rpc/thrift-util.cc M be/src/rpc/thrift-util.h M be/src/service/impala-server.cc 5 files changed, 166 insertions(+), 4 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/54/22254/1 -- To view, visit http://gerrit.cloudera.org:8080/22254 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I9e50f263006c456bc0797b8306aa4065e9713450 Gerrit-Change-Number: 22254 Gerrit-PatchSet: 1 Gerrit-Owner: Joe McDonnell <[email protected]>
