[
https://issues.apache.org/jira/browse/IMPALA-7800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16806688#comment-16806688
]
ASF subversion and git services commented on IMPALA-7800:
---------------------------------------------------------
Commit eb483dddaf8fa8b9143deac23a583a6cb1a6aa27 in impala's branch
refs/heads/master from Zoram Thanga
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=eb483dd ]
IMPALA-7800: Time out new connections after --fe_service_threads
The current implementation of the FE thrift server waits
indefinitely to open the new session, if the maximum number of
FE service threads specified by --fe_service_threads has been
allocated.
This patch introduces a startup flag to control how the server
should treat new connection requests if we have run out of the
configured number of server threads.
If --accepted_client_cnxn_timeout > 0, new connection requests are
rejected by the server if we can't get a server thread within
the specified timeout.
We set the default timeout to be 5 minutes. The old behavior
can be restored by setting --accepted_client_cnxn_timeout=0,
i.e., no timeout. The timeout applies only to client facing thrift
servers, i.e., HS2 and Beeswax servers.
Testing:
Added a new custom cluster test suite to exercise the
new code.
Ran core and exhaustive tests.
Change-Id: Idb345c1d84cc2f691f54ded467f253e758f87e64
Reviewed-on: http://gerrit.cloudera.org:8080/12579
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>
> Reject or timeout new incoming connections once --fe_service_threads limit is
> reached
> -------------------------------------------------------------------------------------
>
> Key: IMPALA-7800
> URL: https://issues.apache.org/jira/browse/IMPALA-7800
> Project: IMPALA
> Issue Type: Improvement
> Components: Clients
> Affects Versions: Impala 3.0, Impala 2.12.0
> Reporter: Michael Ho
> Assignee: Zoram Thanga
> Priority: Major
>
> Currently, the number of frontend service threads is controlled by
> {{--fe_service_threads}}. Once this limit is reached, the worker threads of
> {{connection_setup_pool}} will block until some of the service threads exit.
> New incoming connections will be buffered in a queue in
> {{connection_setup_pool}} until it fills up. Currently, there is no time out
> for all these buffered connections in the queue. Consequently, if the number
> of frontend service threads max'ed out for an extended period of time, a
> client trying to connect to Impala will feel "stuck" until a front end
> service thread is available.
> We should consider either rejecting any new connections once
> {{--fe_service_threads}} limit is reached or imposing a tunable upper bound
> on the wait time for connections in the queue to improve the users'
> experience. 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]