[
https://issues.apache.org/jira/browse/HDFS-7045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14130397#comment-14130397
]
Andrew Wang commented on HDFS-7045:
-----------------------------------
+1, nice find Yi. I'll commit this shortly.
> 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
> 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)