[ 
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]

Reply via email to