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)