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]));