[ https://issues.apache.org/jira/browse/HDFS-4972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13709723#comment-13709723 ]
Hudson commented on HDFS-4972: ------------------------------ UNSTABLE: Integrated in Hadoop-Hdfs-0.23-Build #670 (See [https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/670/]) HDFS-4972. Permission check and operation are done in a separate lock for getBlockLocations(). Contributed by Kihwal Lee. (kihwal: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1503461) * /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt * /hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java > [branch-0.23] permission check and operation are done in a separate lock for > getBlockLocations() > ------------------------------------------------------------------------------------------------ > > Key: HDFS-4972 > URL: https://issues.apache.org/jira/browse/HDFS-4972 > Project: Hadoop HDFS > Issue Type: Bug > Components: namenode > Affects Versions: 0.23.8 > Reporter: Kihwal Lee > Assignee: Kihwal Lee > Fix For: 0.23.10 > > Attachments: HDFS-4972-branch-0.23.patch > > > For getBlockLocations() call, the read lock is acquired when doing permission > check. But unlike other namenode methods, this is outside of the lock of the > actual operation. So it ends up acquiring and releasing the lock twice. This > has two implications. > - permissions can change in between the locks > - the lock fairness will penalize getBlockLocations(). > This was fixed in trunk and branch-2 as a part of HDFS-4679, but not in > branch-0.23. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira