Author: eli
Date: Mon Mar 26 22:07:30 2012
New Revision: 1305628

URL: http://svn.apache.org/viewvc?rev=1305628&view=rev
Log:
HDFS-3129. NetworkTopology: add test that getLeaf should check for invalid 
topologies. Contributed by Colin Patrick McCabe

Modified:
    
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/net/TestNetworkTopology.java

Modified: 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/net/TestNetworkTopology.java
URL: 
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/net/TestNetworkTopology.java?rev=1305628&r1=1305627&r2=1305628&view=diff
==============================================================================
--- 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/net/TestNetworkTopology.java
 (original)
+++ 
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/net/TestNetworkTopology.java
 Mon Mar 26 22:07:30 2012
@@ -58,6 +58,25 @@ public class TestNetworkTopology extends
     assertEquals(cluster.getNumOfLeaves(), dataNodes.length);
   }
 
+  public void testCreateInvalidTopology() throws Exception {
+    NetworkTopology invalCluster = new NetworkTopology();
+    DatanodeDescriptor invalDataNodes[] = new DatanodeDescriptor[] {
+      new DatanodeDescriptor(new DatanodeID("h1:5020"), "/d1/r1"),
+      new DatanodeDescriptor(new DatanodeID("h2:5020"), "/d1/r1"),
+      new DatanodeDescriptor(new DatanodeID("h3:5020"), "/d1")
+    };
+    invalCluster.add(invalDataNodes[0]);
+    invalCluster.add(invalDataNodes[1]);
+    try {
+      invalCluster.add(invalDataNodes[2]);
+      fail("expected InvalidTopologyException");
+    } catch (NetworkTopology.InvalidTopologyException e) {
+      assertEquals(e.getMessage(), "Invalid network topology. " +
+          "You cannot have a rack and a non-rack node at the same " +
+          "level of the network topology.");
+    }
+  }
+
   public void testRacks() throws Exception {
     assertEquals(cluster.getNumOfRacks(), 3);
     assertTrue(cluster.isOnSameRack(dataNodes[0], dataNodes[1]));


Reply via email to