You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by sz...@apache.org on 2012/04/27 23:17:53 UTC
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/
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