Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
Description
FSNameSystem.setPermission() and other permission related calls lock FSNamesystem across getEditLog().logSync() unlike other calls. This increases the negative effect of slower disk on NameNode. Contrast
public synchronized void setPermission(String src, FsPermission permission ) throws IOException { checkOwner(src); dir.setPermission(src, permission); getEditLog().logSync(); }
and
public boolean setReplication(String src, short replication) throws IOException { boolean status = setReplicationInternal(src, replication); getEditLog().logSync(); return status; }