[
https://issues.apache.org/jira/browse/SPARK-4714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240326#comment-14240326
]
Josh Rosen commented on SPARK-4714:
-----------------------------------
This was fixed by https://github.com/apache/spark/pull/3574, which I've
committed to master (1.3.0), branch-1.1, and branch-1.0. This is targeted for
backport into branch-1.2.
> BlockManager.dropFromMemory() should check whether block has been removed
> after synchronizing on BlockInfo instance.
> ---------------------------------------------------------------------------------------------------------------------
>
> Key: SPARK-4714
> URL: https://issues.apache.org/jira/browse/SPARK-4714
> Project: Spark
> Issue Type: Improvement
> Components: Block Manager
> Affects Versions: 1.1.0
> Reporter: SuYan
> Assignee: SuYan
> Priority: Minor
> Labels: backport-needed
> Fix For: 1.0.3, 1.1.2
>
>
> in removeBlock()/ dropOldBlock()/ dropFromMemory()
> all have the same logic:
> 1. info = blockInfo.get(id)
> 2. if (info != null)
> 3. info.synchronized
> there may be a possibility that while one thread got info.lock while the
> previous thread already removed from blockinfo in info.lock.
> but one thing in current code, That not check info is null or not, while get
> info.lock to remove block, will not cause any errors.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]