Description
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:
... 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(); } }
Attachments
Attachments
Issue Links
- is related to
-
HDFS-7253 getBlockLocationsUpdateTimes missing handle exception may cause fsLock dead lock
- Resolved