Github user andrewor14 commented on the pull request:

    https://github.com/apache/spark/pull/11546#issuecomment-217323209
  
    @cenyuhai Thanks for fixing this issue. If I understand correctly the 
deadlock happens when we unpersist an RDD or a broadcast (manually or through 
the cleaner) while we evict blocks from memory to free space for another block. 
The two offending locks here seem to be `info` and `memoryManager`, which wrap 
each other in one order in `removeBlock` and the opposite order in 
`evictBlocksToFreeSpace`. Your fix here seems correct and largely surgical. 
Once you address the comments I left I will go ahead and merge this.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to