You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Yida Wu (Jira)" <ji...@apache.org> on 2024/08/20 21:38:00 UTC

[jira] [Created] (IMPALA-13313) Potential deadlock in ImpalaServer::ExpireQueries()

Yida Wu created IMPALA-13313:
--------------------------------

             Summary: Potential deadlock in ImpalaServer::ExpireQueries()
                 Key: IMPALA-13313
                 URL: https://issues.apache.org/jira/browse/IMPALA-13313
             Project: IMPALA
          Issue Type: Bug
          Components: Backend
    Affects Versions: Impala 4.4.0
            Reporter: Yida Wu
            Assignee: Michael Smith


IMPALA-12602 introduces a way to unregister a query from a session when idle_query_timeout is reached. However, it also includes logic in ExpireQueries() that could cause a deadlock by trying to get the SessionState::lock while also holding query_expiration_lock_. This violates the lock order defined in [impala-server.h|https://github.com/apache/impala/blob/9848cd84be6ed07fe542b82d2e2628e658690621/be/src/service/impala-server.h#L187] and could potentially result in a deadlock.

For example, it can have a deadlock with [SetInFlight()|https://github.infra.cloudera.com/CDH/Impala/blob/1e4e196b53c2ba88c58d13dfb3709b849767a109/be/src/service/impala-server.cc#L1386], which may try to get the query_expiration_lock_ while holding SessionState::lock.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org