Browse Source

HADOOP-5873. Remove deprecated methods randomDataNode() and getDatanodeByIndex(..) in FSNamesystem.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@776508 13f79535-47bb-0310-9956-ffa450edef68
Tsz-wo Sze 16 years ago
parent
commit
cf4498a1f4

+ 3 - 0
CHANGES.txt

@@ -373,6 +373,9 @@ Trunk (unreleased changes)
     HADOOP-5857. Move normal java methods from hdfs .jsp files to .java files.
     (szetszwo)
 
+    HADOOP-5873. Remove deprecated methods randomDataNode() and
+    getDatanodeByIndex(..) in FSNamesystem.  (szetszwo)
+
   OPTIMIZATIONS
 
     HADOOP-5595. NameNode does not need to run a replicator to choose a

+ 1 - 32
src/hdfs/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java

@@ -2842,43 +2842,12 @@ public class FSNamesystem implements FSConstants, FSNamesystemMBean {
     }
     return node;
   }
-    
-  /** Stop at and return the datanode at index (used for content browsing)*/
-  @Deprecated
-  private DatanodeDescriptor getDatanodeByIndex(int index) {
-    int i = 0;
-    for (DatanodeDescriptor node : datanodeMap.values()) {
-      if (i == index) {
-        return node;
-      }
-      i++;
-    }
-    return null;
-  }
-    
-  @Deprecated
-  public String randomDataNode() {
-    int size = datanodeMap.size();
-    int index = 0;
-    if (size != 0) {
-      index = r.nextInt(size);
-      for(int i=0; i<size; i++) {
-        DatanodeDescriptor d = getDatanodeByIndex(index);
-        if (d != null && !d.isDecommissioned() && !isDatanodeDead(d) &&
-            !d.isDecommissionInProgress()) {
-          return d.getHost() + ":" + d.getInfoPort();
-        }
-        index = (index + 1) % size;
-      }
-    }
-    return null;
-  }
 
   /** Choose a random datanode
    * 
    * @return a randomly chosen datanode
    */
-  public DatanodeDescriptor getRandomDatanode() {
+  DatanodeDescriptor getRandomDatanode() {
     return (DatanodeDescriptor)clusterMap.chooseRandom(NodeBase.ROOT);
   }
 

+ 6 - 7
src/hdfs/org/apache/hadoop/hdfs/server/namenode/NamenodeJspHelper.java

@@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.JspWriter;
 
+import org.apache.hadoop.hdfs.protocol.DatanodeID;
 import org.apache.hadoop.hdfs.protocol.FSConstants.UpgradeAction;
 import org.apache.hadoop.hdfs.server.common.JspHelper;
 import org.apache.hadoop.hdfs.server.common.Storage;
@@ -222,15 +223,13 @@ class NamenodeJspHelper {
 
   static void redirectToRandomDataNode(NameNode nn, HttpServletResponse resp)
       throws IOException {
-    FSNamesystem fsn = nn.getNamesystem();
-    String datanode = fsn.randomDataNode();
-    String redirectLocation;
-    String nodeToRedirect;
+    final DatanodeID datanode = nn.getNamesystem().getRandomDatanode();
+    final String redirectLocation;
+    final String nodeToRedirect;
     int redirectPort;
     if (datanode != null) {
-      redirectPort = Integer.parseInt(datanode
-          .substring(datanode.indexOf(':') + 1));
-      nodeToRedirect = datanode.substring(0, datanode.indexOf(':'));
+      nodeToRedirect = datanode.getHost();
+      redirectPort = datanode.getInfoPort();
     } else {
       nodeToRedirect = nn.getHttpAddress().getHostName();
       redirectPort = nn.getHttpAddress().getPort();