You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by to...@apache.org on 2012/01/09 06:43:40 UTC

svn commit: r1229035 - in /hbase/trunk/src: main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java test/java/org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.java

Author: todd
Date: Mon Jan  9 05:43:40 2012
New Revision: 1229035

URL: http://svn.apache.org/viewvc?rev=1229035&view=rev
Log:
HBASE-3949. Add "Master" link to RegionServer pages. Contributed by Gregory Chanan.

Modified:
    hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.java

Modified: hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon?rev=1229035&r1=1229034&r2=1229035&view=diff
==============================================================================
--- hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (original)
+++ hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon Mon Jan  9 05:43:40 2012
@@ -53,6 +53,7 @@ org.apache.hadoop.hbase.HBaseConfigurati
   RegionServerMetrics metrics = regionServer.getMetrics();
   List<HRegionInfo> onlineRegions = regionServer.getOnlineRegions();
   int interval = regionServer.getConfiguration().getInt("hbase.regionserver.msginterval", 3000)/1000;
+  int masterInfoPort = regionServer.getConfiguration().getInt("hbase.master.info.port", 60010);
 </%java>
 <?xml version="1.0" encoding="UTF-8" ?>
 <!-- Commenting out DOCTYPE so our blue outline shows on hadoop 0.20.205.0, etc.
@@ -95,9 +96,20 @@ org.apache.hadoop.hbase.HBaseConfigurati
   <td>
     <% java.util.Arrays.toString(regionServer.getCoprocessors()) %>
   </td>
-  <td>Coprocessors currently loaded by this regionserver</td>
+  <td>Coprocessors currently loaded by this regionserver</td></tr>
 <tr><td>RS Start Time</td><td><% new Date(regionServer.getStartcode()) %></td><td>Date stamp of when this region server was started</td></tr>
 </tr>
+<tr><td>HBase Master</td><td>
+<%if (masterInfoPort < 0) %>
+No hbase.master.info.port found
+<%else>
+<%java>
+String host = regionServer.getMasterAddressManager().getMasterAddress().getHostname() + ":" + masterInfoPort;
+String url = "http://" + host + "/";
+</%java>
+<a href="<% url %>"><% host %></a>
+</%if>
+</td><td>Address of HBase Master</td></tr>
 </table>
 
 <& ../common/TaskMonitorTmpl; filter = filter &>

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1229035&r1=1229034&r2=1229035&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Mon Jan  9 05:43:40 2012
@@ -1433,6 +1433,13 @@ public class HRegionServer implements HR
     return this.metrics;
   }
 
+  /**
+   * @return Master address tracker instance.
+   */
+  public MasterAddressTracker getMasterAddressManager() {
+    return this.masterAddressManager;
+  }
+
   /*
    * Start maintanence Threads, Server, Worker and lease checker threads.
    * Install an UncaughtExceptionHandler that calls abort of RegionServer if we

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.java?rev=1229035&r1=1229034&r2=1229035&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.java Mon Jan  9 05:43:40 2012
@@ -55,6 +55,8 @@ public class TestRSStatusServlet {
     new HServerInfo(fakeAddress, FAKE_WEB_PORT);
   private RegionServerMetrics metrics =
     new RegionServerMetrics();
+  private ServerName fakeMasterAddress =
+    new ServerName("localhost", 60010, 1212121212);
   
   @SuppressWarnings("deprecation")
   @Before
@@ -69,6 +71,11 @@ public class TestRSStatusServlet {
     ZooKeeperWatcher zkw = Mockito.mock(ZooKeeperWatcher.class);
     Mockito.doReturn("fakequorum").when(zkw).getQuorum();
     Mockito.doReturn(zkw).when(rs).getZooKeeper();
+
+    // Fake MasterAddressTracker
+    MasterAddressTracker mat = Mockito.mock(MasterAddressTracker.class);
+    Mockito.doReturn(fakeMasterAddress).when(mat).getMasterAddress();
+    Mockito.doReturn(mat).when(rs).getMasterAddressManager();
   }
   
   @Test
@@ -85,7 +92,7 @@ public class TestRSStatusServlet {
         );
     Mockito.doReturn(regions).when(rs).getOnlineRegions();
     
-    new RSStatusTmpl().render(new StringWriter(), rs);    
+    new RSStatusTmpl().render(new StringWriter(), rs);
   }