HIVE-4617 provides support for async execution in HS2. The async (background) thread pool currently creates N threads (server config), which are alive all the time. If all the threads in the pool are busy, a new request is added to a blocking queue. However, we can improve the strategy by not having all the async (background) threads alive when there are no corresponding requests. The async threads should die after a certain timeout if there are no new requests to handle.