Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 4.0.0
-
None
-
ghx-label-3
Description
When Impala triggers ExpireQuery - via reaching resource limits, EXEC_TIME_LIMIT_S, or idle_query_timeout/QUERY_TIMEOUT_S - it cancels the query, but does not unregister it. It will only be unregistered when the session is closed. That means Impala continues to report the query as inflight until the session ends; in some multi-user scenarios, a session may be in-use for hours or days and keep these queries active for the same.
This can be confusing for admins, who see a list of queries waiting to be closed - some of which have been cancelled by EXEC_TIME_LIMIT_S (for example) - and are unclear why they're still there.
One thing we could do is modify the behavior of idle_query_timeout. idle_session_timeout causes the session to close. Queries that time out due to idle_query_timeout should similarly be abandoned and unregistered. Any other query that expires should still be checked for idle_query_timeout and unregistered once it hits that timeout (as it is clearly an idle query).
Attachments
Issue Links
- causes
-
IMPALA-13313 Potential deadlock in ImpalaServer::ExpireQueries()
- Resolved
- is required by
-
IMPALA-12911 Set defaults for idle session / query timeouts
- Open