Author: stack
Date: Wed Sep 14 02:54:15 2011
New Revision: 1170421
URL: http://svn.apache.org/viewvc?rev=1170421&view=rev
Log:
HBASE-4359 Show dead RegionServer names in the HMaster info page
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterStatusServlet.java
Modified: hbase/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1170421&r1=1170420&r2=1170421&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Wed Sep 14 02:54:15 2011
@@ -474,6 +474,8 @@ Release 0.91.0 - Unreleased
(ramkrishna.s.vasudevan)
HBASE-4347 Remove duplicated code from Put, Delete, Get, Scan, MultiPut
(Lars Hofhansl)
+ HBASE-4359 Show dead RegionServer names in the HMaster info page
+ (Harsh J)
TASKS
HBASE-3559 Move report of split to master OFF the heartbeat channel
Modified:
hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon?rev=1170421&r1=1170420&r2=1170421&view=diff
==============================================================================
---
hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon
(original)
+++
hbase/trunk/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon
Wed Sep 14 02:54:15 2011
@@ -24,6 +24,7 @@ Map<String, Integer> frags = null;
ServerName rootLocation = null;
ServerName metaLocation = null;
List<ServerName> servers = null;
+Set<ServerName> deadServers = null;
boolean showAppendWarning = false;
String filter = "general";
String format = "html";
@@ -111,6 +112,9 @@ org.apache.hadoop.hbase.HTableDescriptor
<%if (servers != null) %>
<& regionServers &>
</%if>
+<%if (deadServers != null) %>
+<& deadRegionServers &>
+</%if>
<& AssignmentManagerStatusTmpl;
assignmentManager=master.getAssignmentManager()&>
@@ -215,3 +219,26 @@ org.apache.hadoop.hbase.HTableDescriptor
<p>Load is requests per second and count of regions loaded</p>
</%if>
</%def>
+
+<%def deadRegionServers>
+<h2>Dead Region Servers</h2>
+<%if (deadServers != null && deadServers.size() > 0)%>
+
+<table>
+<tr><th rowspan="<% deadServers.size() + 1%>"></th><th>Address</th><th>Start
Code</th></tr>
+<%java>
+ ServerName [] deadServerNames = deadServers.toArray(new
ServerName[deadServers.size()]);
+ Arrays.sort(deadServerNames);
+ for (ServerName deadServerName: deadServerNames) {
+ int infoPort =
master.getConfiguration().getInt("hbase.regionserver.info.port", 60030);
+ String hostname = deadServerName.getHostname() + ":" + infoPort;
+ long startcode = deadServerName.getStartcode();
+</%java>
+<tr><td><% hostname %></td><td><% startcode %></tr>
+<%java>
+ }
+</%java>
+<tr><th>Total: </th><td>servers: <% deadServers.size() %></td></tr>
+</table>
+</%if>
+</%def>
\ No newline at end of file
Modified:
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java?rev=1170421&r1=1170420&r2=1170421&view=diff
==============================================================================
---
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java
(original)
+++
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java
Wed Sep 14 02:54:15 2011
@@ -23,6 +23,7 @@ import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
@@ -59,6 +60,7 @@ public class MasterStatusServlet extends
ServerName rootLocation = getRootLocationOrNull(master);
ServerName metaLocation = master.getCatalogTracker().getMetaLocation();
List<ServerName> servers =
master.getServerManager().getOnlineServersList();
+ Set<ServerName> deadServers = master.getServerManager().getDeadServers();
response.setContentType("text/html");
MasterStatusTmpl tmpl = new MasterStatusTmpl()
@@ -66,7 +68,8 @@ public class MasterStatusServlet extends
.setShowAppendWarning(shouldShowAppendWarning(conf))
.setRootLocation(rootLocation)
.setMetaLocation(metaLocation)
- .setServers(servers);
+ .setServers(servers)
+ .setDeadServers(deadServers);
if (request.getParameter("filter") != null)
tmpl.setFilter(request.getParameter("filter"));
if (request.getParameter("format") != null)
Modified:
hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterStatusServlet.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterStatusServlet.java?rev=1170421&r1=1170420&r2=1170421&view=diff
==============================================================================
---
hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterStatusServlet.java
(original)
+++
hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterStatusServlet.java
Wed Sep 14 02:54:15 2011
@@ -23,8 +23,10 @@ import static org.junit.Assert.*;
import java.io.IOException;
import java.io.StringWriter;
+import java.util.HashSet;
import java.util.List;
import java.util.NavigableMap;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -134,11 +136,17 @@ public class TestMasterStatusServlet {
List<ServerName> servers = Lists.newArrayList(
new ServerName("rootserver:123,12345"),
new ServerName("metaserver:123,12345"));
-
+ Set<ServerName> deadServers = new HashSet<ServerName>(
+ Lists.newArrayList(
+ new ServerName("badserver:123,12345"),
+ new ServerName("uglyserver:123,12345"))
+ );
+
new MasterStatusTmpl()
.setRootLocation(new ServerName("rootserver:123,12345"))
.setMetaLocation(new ServerName("metaserver:123,12345"))
.setServers(servers)
+ .setDeadServers(deadServers)
.render(new StringWriter(),
master, admin);
}