[
https://issues.apache.org/jira/browse/KUDU-2237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Ho resolved KUDU-2237.
------------------------------
Resolution: Fixed
Fix Version/s: 1.7.0
https://github.com/apache/kudu/commit/948ac0eb45b83cbba476cf722dd5c043ddac5de3
KUDU-2237: Allow idle server connection scanning to be disabled
Currently, a server connection being idle for more than
FLAGS_rpc_default_keepalive_time_ms ms will be closed.
However, certain services (e.g. Impala) using KRPC may want to
keep the idle connections alive for various reasons (e.g. sheer
number of connections to re-establish, negotiation overhead
in a secure cluster). To avoid idle connection from being
closed, one currently have to set FLAGS_rpc_default_keepalive_time_ms
to a very large value.
This change implements a cleaner solution by disabling idle
connection scanning if FLAGS_rpc_default_keepalive_time_ms is
set to any negative value. This avoids the unnecessary
overhead of scanning for idle server connections and alleviates
the user from having to pick a random large number to make sure
the connection is always kept alive.
Change-Id: I6161b9e753f05620784565a417d248acf8e7050a
Reviewed-on: http://gerrit.cloudera.org:8080/8831
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <[email protected]>
> Allows idle server connection detection to be disabled
> ------------------------------------------------------
>
> Key: KUDU-2237
> URL: https://issues.apache.org/jira/browse/KUDU-2237
> Project: Kudu
> Issue Type: Bug
> Components: rpc
> Affects Versions: 1.5.0
> Reporter: Michael Ho
> Assignee: Michael Ho
> Priority: Minor
> Fix For: 1.7.0
>
>
> As shown in IMPALA-5901, Impala server connections between backends can be
> idle for an extended period of time during stress or when the cluster is
> idle. Given Impalad cluster tends to have n^2 connections (i.e. fully
> connected between all backend nodes), shutting down idle connections may
> easily result in a connection storm in which all nodes try to connect to each
> other at the same time. This is somewhat worse in a secure cluster due to the
> higher overhead in connection negotiation. We don't necessarily benefit much
> from closing idle connections so it'd be nice to allow us to disable it if we
> want. Currently, we workaround the issue by using a very large value for
> {{rpc_default_keepalive_time_ms}}. Given the value 0 for
> {{rpc_default_keepalive_time_ms}} isn't too meaningful, we can consider using
> setting{{rpc_default_keepalive_time_ms}} to 0 as way to disable the idle
> server connection scanning.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)