Author: atm
Date: Thu Mar 15 21:51:23 2012
New Revision: 1301222
URL: http://svn.apache.org/viewvc?rev=1301222&view=rev
Log:
HDFS-3099. SecondaryNameNode does not properly initialize metrics system.
Contributed by Aaron T. Myers.
Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSecondaryWebUi.java
Modified: hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1301222&r1=1301221&r2=1301222&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Thu Mar 15
21:51:23 2012
@@ -303,6 +303,9 @@ Release 0.23.3 - UNRELEASED
HDFS-3005. FSVolume.decDfsUsed(..) should be synchronized. (szetszwo)
+ HDFS-3099. SecondaryNameNode does not properly initialize metrics system.
+ (atm)
+
BREAKDOWN OF HDFS-1623 SUBTASKS
HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd)
Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java?rev=1301222&r1=1301221&r2=1301222&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
(original)
+++
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/SecondaryNameNode.java
Thu Mar 15 21:51:23 2012
@@ -204,6 +204,7 @@ public class SecondaryNameNode implement
DFS_SECONDARY_NAMENODE_USER_NAME_KEY, infoBindAddress);
}
// initiate Java VM metrics
+ DefaultMetricsSystem.initialize("SecondaryNameNode");
JvmMetrics.create("SecondaryNameNode",
conf.get(DFS_METRICS_SESSION_ID_KEY), DefaultMetricsSystem.instance());
Modified:
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSecondaryWebUi.java
URL:
http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSecondaryWebUi.java?rev=1301222&r1=1301221&r2=1301222&view=diff
==============================================================================
---
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSecondaryWebUi.java
(original)
+++
hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestSecondaryWebUi.java
Thu Mar 15 21:51:23 2012
@@ -17,42 +17,59 @@
*/
package org.apache.hadoop.hdfs.server.namenode;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
import java.io.IOException;
+import java.net.MalformedURLException;
import java.net.URL;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.hdfs.DFSTestUtil;
import org.apache.hadoop.hdfs.MiniDFSCluster;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
public class TestSecondaryWebUi {
-
- @Test
- public void testSecondaryWebUi() throws IOException {
- Configuration conf = new Configuration();
+
+ private static MiniDFSCluster cluster;
+ private static SecondaryNameNode snn;
+ private static Configuration conf = new Configuration();
+
+ @BeforeClass
+ public static void setUpCluster() throws IOException {
conf.set(DFSConfigKeys.DFS_NAMENODE_SECONDARY_HTTP_ADDRESS_KEY,
"0.0.0.0:0");
- MiniDFSCluster cluster = null;
- SecondaryNameNode snn = null;
- try {
- cluster = new MiniDFSCluster.Builder(conf).numDataNodes(0)
- .build();
- cluster.waitActive();
-
- snn = new SecondaryNameNode(conf);
- String pageContents = DFSTestUtil.urlGet(new URL("http://localhost:" +
- SecondaryNameNode.getHttpAddress(conf).getPort() + "/status.jsp"));
- assertTrue(pageContents.contains("Last Checkpoint Time"));
- } finally {
- if (cluster != null) {
- cluster.shutdown();
- }
- if (snn != null) {
- snn.shutdown();
- }
+ cluster = new MiniDFSCluster.Builder(conf).numDataNodes(0)
+ .build();
+ cluster.waitActive();
+
+ snn = new SecondaryNameNode(conf);
+ }
+
+ @AfterClass
+ public static void shutDownCluster() {
+ if (cluster != null) {
+ cluster.shutdown();
+ }
+ if (snn != null) {
+ snn.shutdown();
}
}
+
+ @Test
+ public void testSecondaryWebUi() throws IOException {
+ String pageContents = DFSTestUtil.urlGet(new URL("http://localhost:" +
+ SecondaryNameNode.getHttpAddress(conf).getPort() + "/status.jsp"));
+ assertTrue(pageContents.contains("Last Checkpoint Time"));
+ }
+
+ @Test
+ public void testSecondaryWebJmx() throws MalformedURLException, IOException {
+ String pageContents = DFSTestUtil.urlGet(new URL("http://localhost:" +
+ SecondaryNameNode.getHttpAddress(conf).getPort() + "/jmx"));
+ assertTrue(pageContents.contains(
+ "Hadoop:service=SecondaryNameNode,name=JvmMetrics"));
+ }
}