Esempio n. 1
0
        public virtual void TestCreateInvalidTopology()
        {
            NetworkTopology invalCluster = new NetworkTopology();

            DatanodeDescriptor[] invalDataNodes = new DatanodeDescriptor[] { DFSTestUtil.GetDatanodeDescriptor
                                                                                 ("1.1.1.1", "/d1/r1"), DFSTestUtil.GetDatanodeDescriptor("2.2.2.2", "/d1/r1"), DFSTestUtil
                                                                             .GetDatanodeDescriptor("3.3.3.3", "/d1") };
            invalCluster.Add(invalDataNodes[0]);
            invalCluster.Add(invalDataNodes[1]);
            try
            {
                invalCluster.Add(invalDataNodes[2]);
                NUnit.Framework.Assert.Fail("expected InvalidTopologyException");
            }
            catch (NetworkTopology.InvalidTopologyException e)
            {
                NUnit.Framework.Assert.IsTrue(e.Message.StartsWith("Failed to add "));
                NUnit.Framework.Assert.IsTrue(e.Message.Contains("You cannot have a rack and a non-rack node at the same "
                                                                 + "level of the network topology."));
            }
        }
Esempio n. 2
0
        public virtual void TestCountNumNodes()
        {
            // create the topology
            NetworkTopology cluster = new NetworkTopology();

            cluster.Add(GetNewNode("node1", "/d1/r1"));
            TestClusterTopology.NodeElement node2 = GetNewNode("node2", "/d1/r2");
            cluster.Add(node2);
            cluster.Add(GetNewNode("node3", "/d1/r3"));
            TestClusterTopology.NodeElement node3 = GetNewNode("node4", "/d1/r4");
            cluster.Add(node3);
            // create exclude list
            IList <Node> excludedNodes = new AList <Node>();

            Assert.Equal("4 nodes should be available", 4, cluster.CountNumOfAvailableNodes
                             (NodeBase.Root, excludedNodes));
            TestClusterTopology.NodeElement deadNode = GetNewNode("node5", "/d1/r2");
            excludedNodes.AddItem(deadNode);
            Assert.Equal("4 nodes should be available with extra excluded Node"
                         , 4, cluster.CountNumOfAvailableNodes(NodeBase.Root, excludedNodes));
            // add one existing node to exclude list
            excludedNodes.AddItem(node3);
            Assert.Equal("excluded nodes with ROOT scope should be considered"
                         , 3, cluster.CountNumOfAvailableNodes(NodeBase.Root, excludedNodes));
            Assert.Equal("excluded nodes without ~ scope should be considered"
                         , 2, cluster.CountNumOfAvailableNodes("~" + deadNode.GetNetworkLocation(), excludedNodes
                                                               ));
            Assert.Equal("excluded nodes with rack scope should be considered"
                         , 1, cluster.CountNumOfAvailableNodes(deadNode.GetNetworkLocation(), excludedNodes
                                                               ));
            // adding the node in excluded scope to excluded list
            excludedNodes.AddItem(node2);
            Assert.Equal("excluded nodes with ~ scope should be considered"
                         , 2, cluster.CountNumOfAvailableNodes("~" + deadNode.GetNetworkLocation(), excludedNodes
                                                               ));
            // getting count with non-exist scope.
            Assert.Equal("No nodes should be considered for non-exist scope"
                         , 0, cluster.CountNumOfAvailableNodes("/non-exist", excludedNodes));
        }
Esempio n. 3
0
 public virtual void SetupDatanodes()
 {
     dataNodes = new DatanodeDescriptor[] { DFSTestUtil.GetDatanodeDescriptor("1.1.1.1"
                                                                              , "/d1/r1"), DFSTestUtil.GetDatanodeDescriptor("2.2.2.2", "/d1/r1"), DFSTestUtil
                                            .GetDatanodeDescriptor("3.3.3.3", "/d1/r2"), DFSTestUtil.GetDatanodeDescriptor("4.4.4.4"
                                                                                                                           , "/d1/r2"), DFSTestUtil.GetDatanodeDescriptor("5.5.5.5", "/d1/r2"), DFSTestUtil
                                            .GetDatanodeDescriptor("6.6.6.6", "/d2/r3"), DFSTestUtil.GetDatanodeDescriptor("7.7.7.7"
                                                                                                                           , "/d2/r3"), DFSTestUtil.GetDatanodeDescriptor("8.8.8.8", "/d2/r3"), DFSTestUtil
                                            .GetDatanodeDescriptor("9.9.9.9", "/d3/r1"), DFSTestUtil.GetDatanodeDescriptor("10.10.10.10"
                                                                                                                           , "/d3/r1"), DFSTestUtil.GetDatanodeDescriptor("11.11.11.11", "/d3/r1"), DFSTestUtil
                                            .GetDatanodeDescriptor("12.12.12.12", "/d3/r2"), DFSTestUtil.GetDatanodeDescriptor
                                                ("13.13.13.13", "/d3/r2"), DFSTestUtil.GetDatanodeDescriptor("14.14.14.14", "/d4/r1"
                                                                                                             ), DFSTestUtil.GetDatanodeDescriptor("15.15.15.15", "/d4/r1"), DFSTestUtil.GetDatanodeDescriptor
                                                ("16.16.16.16", "/d4/r1"), DFSTestUtil.GetDatanodeDescriptor("17.17.17.17", "/d4/r1"
                                                                                                             ), DFSTestUtil.GetDatanodeDescriptor("18.18.18.18", "/d4/r1"), DFSTestUtil.GetDatanodeDescriptor
                                                ("19.19.19.19", "/d4/r1"), DFSTestUtil.GetDatanodeDescriptor("20.20.20.20", "/d4/r1"
                                                                                                             ) };
     for (int i = 0; i < dataNodes.Length; i++)
     {
         cluster.Add(dataNodes[i]);
     }
     dataNodes[9].SetDecommissioned();
     dataNodes[10].SetDecommissioned();
 }