[ 
https://issues.apache.org/jira/browse/HDFS-3331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13263905#comment-13263905
 ] 

Tsz Wo (Nicholas), SZE commented on HDFS-3331:
----------------------------------------------

I agree that checkSuperuserPrivilege should be called before checkOperation but 
the current convention is the other way.  I recall one reason to put 
checkSuperuserPrivilege after safemode check is that checkSuperuserPrivilege is 
more expensive.

In the current code, it is inconsistent whether checkOperation is invoked in 
NameNodeRpcServer or FSNamesystem.  checkSuperuserPrivilege is usually invoked 
in FSNamesystem but an exception is DatanodeManager.refreshNode(Configuration). 
 It seems that FSNamesystem is the logical place to make the call since the 
checkXxx methods are declared in FSNamesystem.

Other operations in FSNamesystem such as setQuota and listCorruptFileBlocks 
call checkXxx within the lock.

I will post another patch for following the current convention as close as 
possible.
                
> Some admin methods in NN do not checkSuperuserPrivilege
> -------------------------------------------------------
>
>                 Key: HDFS-3331
>                 URL: https://issues.apache.org/jira/browse/HDFS-3331
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: Tsz Wo (Nicholas), SZE
>         Attachments: h3331_20120426.patch
>
>
> - setBalancerBandwidth and refreshNodes should checkSuperuserPrivilege
> - finalizeUpgrade should acquire the write lock.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to