HDFS-2901. Improvements for SBN web UI - not show under-replicated/missing blocks. Contributed by Brandon Li.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/HDFS-1623@1241568 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7f0a99f6e6
commit
acacde55e6
|
@ -178,3 +178,5 @@ HDFS-2894. HA: automatically determine the nameservice Id if only one nameservic
|
|||
HDFS-2733. Document HA configuration and CLI. (atm)
|
||||
|
||||
HDFS-2794. Active NN may purge edit log files before standby NN has a chance to read them (todd)
|
||||
|
||||
HDFS-2901. Improvements for SBN web UI - not show under-replicated/missing blocks. (Brandon Li via jitendra)
|
||||
|
|
|
@ -36,6 +36,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||
import javax.servlet.jsp.JspWriter;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.ha.HAServiceProtocol.HAServiceState;
|
||||
import org.apache.hadoop.hdfs.DFSConfigKeys;
|
||||
import org.apache.hadoop.hdfs.DFSUtil;
|
||||
import org.apache.hadoop.hdfs.protocol.Block;
|
||||
|
@ -308,7 +309,16 @@ class NamenodeJspHelper {
|
|||
|
||||
long bpUsed = fsnStats[6];
|
||||
float percentBpUsed = DFSUtil.getPercentUsed(bpUsed, total);
|
||||
|
||||
|
||||
// don't show under-replicated/missing blocks or corrupt files for SBN
|
||||
// since the standby namenode doesn't compute replication queues
|
||||
String underReplicatedBlocks = "";
|
||||
if (nn.getServiceState() == HAServiceState.ACTIVE) {
|
||||
underReplicatedBlocks = new String(rowTxt()
|
||||
+ colTxt("Excludes missing blocks.")
|
||||
+ "Number of Under-Replicated Blocks" + colTxt() + ":" + colTxt()
|
||||
+ fsn.getBlockManager().getUnderReplicatedNotMissingBlocks());
|
||||
}
|
||||
out.print("<div id=\"dfstable\"> <table>\n" + rowTxt() + colTxt()
|
||||
+ "Configured Capacity" + colTxt() + ":" + colTxt()
|
||||
+ StringUtils.byteDesc(total) + rowTxt() + colTxt() + "DFS Used"
|
||||
|
@ -343,10 +353,8 @@ class NamenodeJspHelper {
|
|||
+ rowTxt() + colTxt()
|
||||
+ "<a href=\"dfsnodelist.jsp?whatNodes=DECOMMISSIONING\">"
|
||||
+ "Decommissioning Nodes</a> "
|
||||
+ colTxt() + ":" + colTxt() + decommissioning.size()
|
||||
+ rowTxt() + colTxt("Excludes missing blocks.")
|
||||
+ "Number of Under-Replicated Blocks" + colTxt() + ":" + colTxt()
|
||||
+ fsn.getBlockManager().getUnderReplicatedNotMissingBlocks()
|
||||
+ colTxt() + ":" + colTxt() + decommissioning.size()
|
||||
+ underReplicatedBlocks
|
||||
+ "</table></div><br>\n");
|
||||
|
||||
if (live.isEmpty() && dead.isEmpty()) {
|
||||
|
|
|
@ -32,11 +32,11 @@ public class TestHAWebUI {
|
|||
|
||||
/**
|
||||
* Tests that the web UI of the name node provides a link to browse the file
|
||||
* system only in active state
|
||||
* system and summary of under-replicated blocks only in active state
|
||||
*
|
||||
*/
|
||||
@Test
|
||||
public void testLinkToBrowseFilesystem() throws Exception {
|
||||
public void testLinkAndClusterSummary() throws Exception {
|
||||
Configuration conf = new Configuration();
|
||||
|
||||
MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf)
|
||||
|
@ -50,18 +50,21 @@ public class TestHAWebUI {
|
|||
+ NameNode.getHttpAddress(cluster.getConfiguration(0)).getPort()
|
||||
+ "/dfshealth.jsp"));
|
||||
assertTrue(pageContents.contains("Browse the filesystem"));
|
||||
assertTrue(pageContents.contains("Number of Under-Replicated Blocks"));
|
||||
|
||||
cluster.transitionToStandby(0);
|
||||
pageContents = DFSTestUtil.urlGet(new URL("http://localhost:"
|
||||
+ NameNode.getHttpAddress(cluster.getConfiguration(0)).getPort()
|
||||
+ "/dfshealth.jsp"));
|
||||
assertFalse(pageContents.contains("Browse the filesystem"));
|
||||
assertFalse(pageContents.contains("Number of Under-Replicated Blocks"));
|
||||
|
||||
cluster.transitionToActive(0);
|
||||
pageContents = DFSTestUtil.urlGet(new URL("http://localhost:"
|
||||
+ NameNode.getHttpAddress(cluster.getConfiguration(0)).getPort()
|
||||
+ "/dfshealth.jsp"));
|
||||
assertTrue(pageContents.contains("Browse the filesystem"));
|
||||
assertTrue(pageContents.contains("Number of Under-Replicated Blocks"));
|
||||
|
||||
} finally {
|
||||
cluster.shutdown();
|
||||
|
|
Loading…
Reference in New Issue