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

Marcelo Masiero Vanzin resolved SPARK-30285.
--------------------------------------------
    Fix Version/s: 3.0.0
                   2.4.5
       Resolution: Fixed

Issue resolved by pull request 26924
[https://github.com/apache/spark/pull/26924]

> Fix deadlock between LiveListenerBus#stop and 
> AsyncEventQueue#removeListenerOnError
> -----------------------------------------------------------------------------------
>
>                 Key: SPARK-30285
>                 URL: https://issues.apache.org/jira/browse/SPARK-30285
>             Project: Spark
>          Issue Type: Bug
>          Components: Spark Core
>    Affects Versions: 2.3.0, 2.4.0
>            Reporter: Wang Shuo
>            Assignee: Wang Shuo
>            Priority: Major
>             Fix For: 2.4.5, 3.0.0
>
>
> There is a deadlock between LiveListenerBus#stop and 
> AsyncEventQueue#removeListenerOnError.
> we can reproduce as follows:
>  # Post some events to LiveListenerBus
>  # Call LiveListenerBus#stop and hold the synchronized lock of bus, waiting 
> until all the events are processed by listeners, then remove all the queues
>  # Event queue would drain out events by posting to its listeners. If a 
> listener is interrupted, it will call AsyncEventQueue#removeListenerOnError,  
> inside it will call bus.removeListener, trying to acquire synchronized lock 
> of bus, resulting in deadlock



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to