[ https://issues.apache.org/jira/browse/SPARK-6468?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sean Owen updated SPARK-6468: ----------------------------- Assignee: Shixiong Zhu > 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 > Assignee: Shixiong Zhu > Priority: Minor > Fix For: 1.4.0 > > > 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: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org