Example #1
0
        public virtual void TestNNHealthCheck()
        {
            MiniDFSCluster cluster = null;

            try
            {
                Configuration conf = new Configuration();
                cluster = new MiniDFSCluster.Builder(conf).NumDataNodes(0).NnTopology(MiniDFSNNTopology
                                                                                      .SimpleHATopology()).Build();
                NameNodeResourceChecker mockResourceChecker = Org.Mockito.Mockito.Mock <NameNodeResourceChecker
                                                                                        >();
                Org.Mockito.Mockito.DoReturn(true).When(mockResourceChecker).HasAvailableDiskSpace
                    ();
                cluster.GetNameNode(0).GetNamesystem().SetNNResourceChecker(mockResourceChecker);
                NamenodeProtocols rpc = cluster.GetNameNodeRpc(0);
                // Should not throw error, which indicates healthy.
                rpc.MonitorHealth();
                Org.Mockito.Mockito.DoReturn(false).When(mockResourceChecker).HasAvailableDiskSpace
                    ();
                try
                {
                    // Should throw error - NN is unhealthy.
                    rpc.MonitorHealth();
                    NUnit.Framework.Assert.Fail("Should not have succeeded in calling monitorHealth");
                }
                catch (HealthCheckFailedException hcfe)
                {
                    GenericTestUtils.AssertExceptionContains("The NameNode has no resources available"
                                                             , hcfe);
                }
            }
            finally
            {
                if (cluster != null)
                {
                    cluster.Shutdown();
                }
            }
        }