[ 
https://issues.apache.org/jira/browse/IMPALA-13313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Smith resolved IMPALA-13313.
------------------------------------
    Fix Version/s: Impala 4.5.0
       Resolution: Fixed

> 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
>            Priority: Critical
>             Fix For: Impala 4.5.0
>
>
> 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