[
https://issues.apache.org/jira/browse/SPARK-6468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14375873#comment-14375873
]
Apache Spark commented on SPARK-6468:
-------------------------------------
User 'zsxwing' has created a pull request for this issue:
https://github.com/apache/spark/pull/5136
> Fix the race condition of subDirs in DiskBlockManager
> -----------------------------------------------------
>
> Key: SPARK-6468
> URL: https://issues.apache.org/jira/browse/SPARK-6468
> Project: Spark
> Issue Type: Bug
> Components: Block Manager
> Affects Versions: 1.3.0
> Reporter: Shixiong Zhu
> Priority: Minor
>
> There are two race conditions of subDirs in DiskBlockManager:
> 1. `getAllFiles` does not use correct locks to read the contents in
> `subDirs`. Although it's designed for testing, it's still worth to add
> correct locks to eliminate the race condition.
> 2. The double-check has a race condition in `getFile(filename: String)`. If a
> thread finds `subDirs(dirId)(subDirId)` is not null out of the `synchronized`
> block, it may not be able to see the correct content of the File instance
> pointed by `subDirs(dirId)(subDirId)` according to the Java memory model
> (there is no volatile variable here).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]