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

Reply via email to