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 Thanga