[ https://issues.apache.org/jira/browse/HDFS-9590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15067286#comment-15067286 ]
Mingliang Liu commented on HDFS-9590: ------------------------------------- {quote} 2 threads are calling unlock() {quote} Oh, I thought it was an exclusive lock, and thus lock() happens before unlock(). Let me have a look at the code again. Thanks. > NPE in Storage$StorageDirectory#unlock() > ---------------------------------------- > > Key: HDFS-9590 > URL: https://issues.apache.org/jira/browse/HDFS-9590 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Xiao Chen > Assignee: Xiao Chen > > The code looks to be possible to have race conditions in multiple-threaded > runs. > {code} > public void unlock() throws IOException { > if (this.lock == null) > return; > this.lock.release(); > lock.channel().close(); > lock = null; > } > {code} > This is called in a handful of places, and I don't see any protection. Shall > we add some synchronization mechanism? Not sure if I missed any design > assumptions here. -- This message was sent by Atlassian JIRA (v6.3.4#6332)