Repository: hadoop
Updated Branches:
  refs/heads/branch-2 757d9ebcc -> a79ad2d12
  refs/heads/trunk 1168ece59 -> 1f6652443


HDFS-11570. Unit test for NameNodeStatusMXBean. Contributed by Hanisha Koneru.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1f665244
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1f665244
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1f665244

Branch: refs/heads/trunk
Commit: 1f66524432edf37e28ec03aba8d12b22ce0ef60c
Parents: 1168ece
Author: Hanisha Koneru <hanishakon...@apache.org>
Authored: Fri Mar 24 14:44:25 2017 -0700
Committer: Arpit Agarwal <a...@apache.org>
Committed: Fri Mar 24 14:44:25 2017 -0700

----------------------------------------------------------------------
 .../namenode/TestNameNodeStatusMXBean.java      | 93 ++++++++++++++++++++
 1 file changed, 93 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/1f665244/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeStatusMXBean.java
----------------------------------------------------------------------
diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeStatusMXBean.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeStatusMXBean.java
new file mode 100644
index 0000000..c03dc20
--- /dev/null
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestNameNodeStatusMXBean.java
@@ -0,0 +1,93 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hdfs.server.namenode;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hdfs.MiniDFSCluster;
+import org.apache.hadoop.hdfs.server.datanode.TestDataNodeMXBean;
+import org.junit.Assert;
+import org.junit.Test;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.lang.management.ManagementFactory;
+
+/**
+ * Class for testing {@link NameNodeStatusMXBean} implementation.
+ */
+public class TestNameNodeStatusMXBean {
+
+  public static final Log LOG = LogFactory.getLog(
+      TestNameNodeStatusMXBean.class);
+
+  @Test(timeout = 120000L)
+  public void testDataNodeMXBean() throws Exception {
+    Configuration conf = new Configuration();
+    MiniDFSCluster cluster = null;
+
+    try {
+      cluster = new MiniDFSCluster.Builder(conf).build();
+      cluster.waitActive();
+
+      NameNode nn = cluster.getNameNode();
+
+      MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+      ObjectName mxbeanName = new ObjectName(
+          "Hadoop:service=NameNode,name=NameNodeStatus");
+
+      // Get attribute "NNRole"
+      String nnRole = (String)mbs.getAttribute(mxbeanName, "NNRole");
+      Assert.assertEquals(nn.getNNRole(), nnRole);
+
+      // Get attribute "State"
+      String state = (String)mbs.getAttribute(mxbeanName, "State");
+      Assert.assertEquals(nn.getState(), state);
+
+      // Get attribute "HostAndPort"
+      String hostAndPort = (String)mbs.getAttribute(mxbeanName, "HostAndPort");
+      Assert.assertEquals(nn.getHostAndPort(), hostAndPort);
+
+      // Get attribute "SecurityEnabled"
+      boolean securityEnabled = (boolean)mbs.getAttribute(mxbeanName,
+          "SecurityEnabled");
+      Assert.assertEquals(nn.isSecurityEnabled(), securityEnabled);
+
+      // Get attribute "LastHATransitionTime"
+      long lastHATransitionTime = (long)mbs.getAttribute(mxbeanName,
+          "LastHATransitionTime");
+      Assert.assertEquals(nn.getLastHATransitionTime(), lastHATransitionTime);
+
+      // Get attribute "BytesWithFutureGenerationStamps"
+      long bytesWithFutureGenerationStamps = (long)mbs.getAttribute(
+          mxbeanName, "BytesWithFutureGenerationStamps");
+      Assert.assertEquals(nn.getBytesWithFutureGenerationStamps(),
+          bytesWithFutureGenerationStamps);
+
+      // Get attribute "SlowPeersReport"
+      String slowPeersReport = (String)mbs.getAttribute(mxbeanName,
+          "SlowPeersReport");
+      Assert.assertEquals(nn.getSlowPeersReport(), slowPeersReport);
+    } finally {
+      if (cluster != null) {
+        cluster.shutdown();
+      }
+    }
+  }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to