[
https://issues.apache.org/jira/browse/HDFS-7045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14131564#comment-14131564
]
Hudson commented on HDFS-7045:
------------------------------
SUCCESS: Integrated in Hadoop-Hdfs-trunk #1869 (See
[https://builds.apache.org/job/Hadoop-Hdfs-trunk/1869/])
HDFS-7045. Fix NameNode deadlock when opening file under /.reserved path.
Contributed by Yi Liu. (wang: rev 1e684995d7ac20d1c27ca1c1bef37dd2ee00e630)
*
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestRead.java
* hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
*
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java
> Fix NameNode deadlock when opening file under /.reserved path
> -------------------------------------------------------------
>
> Key: HDFS-7045
> URL: https://issues.apache.org/jira/browse/HDFS-7045
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: namenode
> Reporter: Yi Liu
> Assignee: Yi Liu
> Priority: Critical
> Fix For: 2.6.0
>
> Attachments: HDFS-7045.001.patch
>
>
> {{resolvePath}} could throw exception in following case, then deadlock.
> * open file under path {{/.reserved/raw}} using a non super user.
> * open file under path {{/.reserved/.inodes}}.
> {{FSNamesystem#getBlockLocationsUpdateTimes}}:
> {code}
> ...
> if (isReadOp) { // first attempt is with readlock
> checkOperation(OperationCategory.READ);
> readLock();
> } else { // second attempt is with write lock
> checkOperation(OperationCategory.WRITE);
> writeLock(); // writelock is needed to set accesstime
> }
> src = resolvePath(src, pathComponents);
> try {
> ...
> } finally {
> if (isReadOp) {
> readUnlock();
> } else {
> writeUnlock();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)