[ 
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)

Reply via email to