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]