Michael Ho created IMPALA-7802:
----------------------------------
Summary: Implement support for closing idle sessions
Key: IMPALA-7802
URL: https://issues.apache.org/jira/browse/IMPALA-7802
Project: IMPALA
Issue Type: Improvement
Components: Clients
Affects Versions: Impala 2.12.0, Impala 3.0
Reporter: Michael Ho
Currently, the query option {{idle_session_timeout}} specifies a timeout in
seconds after which all running queries of that idle session will be cancelled
and no new queries can be issued to it. However, the idle session will remain
open and it needs to be closed explicitly. Please see the
[documentation|https://www.cloudera.com/documentation/enterprise/latest/topics/impala_idle_session_timeout.html]
for details.
This behavior may be undesirable as each session still consumes an Impala
frontend service thread. The number of frontend service threads is bound by the
flag {{fe_service_threads}}. So, in a multi-tenant environment, an Impala
server can have a lot of idle sessions but they still consume against the quota
of {{fe_service_threads}}. If the number of sessions established reaches
{{fe_service_threads}}, all new session creations will block until some of the
existing sessions exit. There may be no time bound on when these zombie idle
sessions will be closed and it's at the mercy of the client implementation to
close them. In some sense, leaving many idle sessions open is a way to launch a
denial of service attack on Impala.
To fix this situation, we should have an option to forcefully close a session
when it's considered idle so it won't unnecessarily consume the limited number
of frontend service threads. cc'ing [~zoram]
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]