Return-Path: X-Original-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A9350C2EE for ; Fri, 27 Apr 2012 21:18:18 +0000 (UTC) Received: (qmail 36340 invoked by uid 500); 27 Apr 2012 21:18:18 -0000 Delivered-To: apmail-hadoop-hdfs-commits-archive@hadoop.apache.org Received: (qmail 36290 invoked by uid 500); 27 Apr 2012 21:18:18 -0000 Mailing-List: contact hdfs-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-dev@hadoop.apache.org Delivered-To: mailing list hdfs-commits@hadoop.apache.org Received: (qmail 36282 invoked by uid 99); 27 Apr 2012 21:18:18 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Apr 2012 21:18:18 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 27 Apr 2012 21:18:15 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 2ED8A2388860; Fri, 27 Apr 2012 21:17:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1331598 - in /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs: ./ src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/ src/main/java/org/apache/hadoop/hdfs/server/namenode/ Date: Fri, 27 Apr 2012 21:17:53 -0000 To: hdfs-commits@hadoop.apache.org From: szetszwo@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20120427211754.2ED8A2388860@eris.apache.org> Author: szetszwo Date: Fri Apr 27 21:17:53 2012 New Revision: 1331598 URL: http://svn.apache.org/viewvc?rev=1331598&view=rev Log: HDFS-3331. In namenode, check superuser privilege for setBalancerBandwidth and acquire the write lock for finalizeUpgrade. Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1331598&r1=1331597&r2=1331598&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Fri Apr 27 21:17:53 2012 @@ -917,7 +917,11 @@ Release 0.23.3 - UNRELEASED HDFS-3321. Fix safe mode turn off tip message. (Ravi Prakash via szetszwo) - HDFS-3334. Fix ByteRangeInputStream stream leakage. (Daryn Sharp via szetszwo) + HDFS-3334. Fix ByteRangeInputStream stream leakage. (Daryn Sharp via + szetszwo) + + HDFS-3331. In namenode, check superuser privilege for setBalancerBandwidth + and acquire the write lock for finalizeUpgrade. (szetszwo) Release 0.23.2 - UNRELEASED Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java?rev=1331598&r1=1331597&r2=1331598&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java Fri Apr 27 21:17:53 2012 @@ -651,7 +651,6 @@ public class DatanodeManager { * checks if any of the hosts have changed states: */ public void refreshNodes(final Configuration conf) throws IOException { - namesystem.checkSuperuserPrivilege(); refreshHostsReader(conf); namesystem.writeLock(); try { Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java?rev=1331598&r1=1331597&r2=1331598&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java Fri Apr 27 21:17:53 2012 @@ -3332,8 +3332,26 @@ public class FSNamesystem implements Nam } void finalizeUpgrade() throws IOException { + writeLock(); + try { + checkOperation(OperationCategory.WRITE); + checkSuperuserPrivilege(); + getFSImage().finalizeUpgrade(); + } finally { + writeUnlock(); + } + } + + void refreshNodes() throws IOException { + checkOperation(OperationCategory.UNCHECKED); + checkSuperuserPrivilege(); + getBlockManager().getDatanodeManager().refreshNodes(new HdfsConfiguration()); + } + + void setBalancerBandwidth(long bandwidth) throws IOException { + checkOperation(OperationCategory.UNCHECKED); checkSuperuserPrivilege(); - getFSImage().finalizeUpgrade(); + getBlockManager().getDatanodeManager().setBalancerBandwidth(bandwidth); } /** Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java?rev=1331598&r1=1331597&r2=1331598&view=diff ============================================================================== --- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java (original) +++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java Fri Apr 27 21:17:53 2012 @@ -707,9 +707,7 @@ class NameNodeRpcServer implements Namen @Override // ClientProtocol public void refreshNodes() throws IOException { - namesystem.checkOperation(OperationCategory.UNCHECKED); - namesystem.getBlockManager().getDatanodeManager().refreshNodes( - new HdfsConfiguration()); + namesystem.refreshNodes(); } @Override // NamenodeProtocol @@ -732,7 +730,6 @@ class NameNodeRpcServer implements Namen @Override // ClientProtocol public void finalizeUpgrade() throws IOException { - namesystem.checkOperation(OperationCategory.WRITE); namesystem.finalizeUpgrade(); } @@ -772,8 +769,7 @@ class NameNodeRpcServer implements Namen */ @Override // ClientProtocol public void setBalancerBandwidth(long bandwidth) throws IOException { - namesystem.checkOperation(OperationCategory.UNCHECKED); - namesystem.getBlockManager().getDatanodeManager().setBalancerBandwidth(bandwidth); + namesystem.setBalancerBandwidth(bandwidth); } @Override // ClientProtocol