HS2 and Beeswax provide an API to execute a query asynchronously (HS2 ExecuteStatement() and Beeswax query()), but Impala does not return until after the query begins execution (i.e. fragments are distributed and started), so the RPC has to wait for all of analysis, planning, scheduling, and admission control. As a result, the RPC is not really asynchronous today, especially because delays in planning or queuing in admission control may be sizable. We should return from this RPC as soon as the query is registered and a handle can be returned. This would be a breaking API change.