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)

Reply via email to