This is an automated email from the ASF dual-hosted git repository.
joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git
The following commit(s) were added to refs/heads/master by this push:
new c7f946991 IMPALA-14031: Enable keepalive by default for client
connections
c7f946991 is described below
commit c7f946991961a147dcad835ac7933237ea90bfd2
Author: Joe McDonnell <[email protected]>
AuthorDate: Tue May 6 12:54:08 2025 -0700
IMPALA-14031: Enable keepalive by default for client connections
Keepalive is useful for detecting dead client connections. In
particular, it has come up several times with load balancers that
drop idle connections. In IMPALA-13253, we added startup flags
that can turn on keepalive and tune the timeouts, but that change
did not enable keepalive by default.
This enables keepalive by default by setting
client_keepalive_probe_period_s to 10 minutes / 600 seconds. The
usual OS setting has a probe period of 2 hours / 7200 seconds.
This uses a more aggressive default, because a client connection
counts towards the fe_service_threads limit. Detecting dead clients
quickly frees up those threads.
This has no impact on idle connections where the TCP connection is
still alive. That is handled through separate controls.
Testing:
- There is already a custom cluster test for keepalive that
continues to pass
- Ran core tests
Change-Id: Ie358b5cabaff884516f7117d20d18c25124e59d5
Reviewed-on: http://gerrit.cloudera.org:8080/22861
Tested-by: Impala Public Jenkins <[email protected]>
Reviewed-by: Michael Smith <[email protected]>
Reviewed-by: Riza Suminto <[email protected]>
---
be/src/service/impala-server.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/be/src/service/impala-server.cc b/be/src/service/impala-server.cc
index 4e2e46148..a8bfd5ace 100644
--- a/be/src/service/impala-server.cc
+++ b/be/src/service/impala-server.cc
@@ -344,7 +344,7 @@ DEFINE_int64(accepted_client_cnxn_timeout, 300000,
"the post-accept, pre-setup connection queue before it is timed out and
the "
"connection request is rejected. A value of 0 means there is no timeout.");
-DEFINE_int32(client_keepalive_probe_period_s, 0,
+DEFINE_int32(client_keepalive_probe_period_s, 600,
"The duration in seconds after a client connection has gone idle before a
TCP "
"keepalive probe is sent to the client. Set to 0 to disable TCP keepalive
probes "
"from being sent.");