You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Marcelo Masiero Vanzin (Jira)" <ji...@apache.org> on 2020/01/03 00:47:00 UTC
[jira] [Assigned] (SPARK-30285) Fix deadlock between
LiveListenerBus#stop and AsyncEventQueue#removeListenerOnError
[ https://issues.apache.org/jira/browse/SPARK-30285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Marcelo Masiero Vanzin reassigned SPARK-30285:
----------------------------------------------
Assignee: Wang Shuo
> 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
>
> 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-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org