svn merge -c 1305628 HDFS-3129 from trunk

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1305630 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Eli Collins 2012-03-26 22:13:39 +00:00
parent e7ec8a44b6
commit 1cbb18d3e0
2 changed files with 22 additions and 0 deletions

View File

@ -168,6 +168,9 @@ Release 0.23.3 - UNRELEASED
HDFS-3089. Move FSDatasetInterface and the related classes to a package.
(szetszwo)
HDFS-3129. NetworkTopology: add test that getLeaf should check for
invalid topologies. (Colin Patrick McCabe via eli)
OPTIMIZATIONS
HDFS-2477. Optimize computing the diff between a block report and the

View File

@ -58,6 +58,25 @@ public class TestNetworkTopology extends TestCase {
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]));