You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Josh Rosen (JIRA)" <ji...@apache.org> on 2014/12/10 00:47:12 UTC

[jira] [Updated] (SPARK-4714) BlockManager.dropFromMemory() should check whether block has been removed after synchronizing on BlockInfo instance.

     [ https://issues.apache.org/jira/browse/SPARK-4714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Rosen updated SPARK-4714:
------------------------------
    Summary:  BlockManager.dropFromMemory() should check whether block has been removed after synchronizing on BlockInfo instance.  (was: BlockManager should handle cases where block is removed after synchronizing on BlockInfo instance)

>  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
>            Priority: Minor
>
> 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: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org