You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Mingliang Liu (JIRA)" <ji...@apache.org> on 2015/12/22 00:59:46 UTC
[jira] [Commented] (HDFS-9590) NPE in
Storage$StorageDirectory#unlock()
[ 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)