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)