diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp index ef173158f0c7..1a34b7fe8d05 100644 --- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp @@ -87,7 +87,7 @@ * its region server. * @return an anchor tag if one can be built, {@code null} otherwise. */ - private static String buildRegionServerLink(final ServerName serverName, final int rsInfoPort, + private static String buildRegionLink(final ServerName serverName, final int rsInfoPort, final RegionInfo regionInfo, final RegionState.State regionState) { if (serverName == null || regionInfo == null) { return null; } @@ -101,6 +101,45 @@ + "?name=" + regionInfo.getEncodedName(); return "" + serverName.getServerName() + ""; } + + /** + * Render an
tag guide user to see all region messages. + */ + private static String moreRegionsToRender(int numRegionsRendered, int numRegions, String fqtn) { + if (numRegions > numRegionsRendered) { + String allRegionsUrl = "?name=" + URLEncoder.encode(fqtn) + "&numRegions=all"; + + return "This table has " + numRegions + + " regions in total, in order to improve the page load time, only " + + numRegionsRendered + " regions are displayed here, click here to see all regions.
"; + } + return ""; + } %> <% final String ZEROMB = "0 MB"; @@ -108,8 +147,7 @@ Configuration conf = master.getConfiguration(); String fqtn = request.getParameter("name"); final String escaped_fqtn = StringEscapeUtils.escapeHtml4(fqtn); - Table table; - boolean withReplica = false; + Table table = master.getConnection().getTable(TableName.valueOf(fqtn)); boolean showFragmentation = conf.getBoolean("hbase.master.ui.fragmentation.enabled", false); boolean readOnly = !InfoServer.canUserModifyUI(request, getServletContext(), conf); int numMetaReplicas = conf.getInt(HConstants.META_REPLICAS_NUM, @@ -160,31 +198,50 @@-<% - if (action.equals("split")) { +
+
+
+<% if (action.equals("split")) {
if (key != null && key.length() > 0) {
admin.split(TableName.valueOf(fqtn), Bytes.toBytes(key));
} else {
admin.split(TableName.valueOf(fqtn));
}
-
- %> Split request accepted. <%
+%> Split request accepted. <%
} else if (action.equals("compact")) {
if (key != null && key.length() > 0) {
List
| Name | @@ -248,13 +299,7 @@ if (fqtn != null && master.isInitialized()) {MemSize | Start Key | End Key | - <% - if (withReplica) { - %>ReplicaID | - <% - } - %><%= memSize%> | <%= escapeXml(Bytes.toString(meta.getStartKey())) %> | <%= escapeXml(Bytes.toString(meta.getEndKey())) %> | - <% - if (withReplica) { - %><%= meta.getReplicaId() %> | - <% - } - %> <% } %> <%} %> @@ -319,7 +358,7 @@ if (fqtn != null && master.isInitialized()) {
|---|
| Name | @@ -421,6 +460,7 @@ if (fqtn != null && master.isInitialized()) { +<%= endKeyDisplay %> | <%= replicaIdDisplay %> | <%= regionStateDisplay %> | -"><%= buildRegionServerLink(serverName, rsPort, regionInfo, regionState) %> | +"><%= buildRegionLink(serverName, rsPort, regionInfo, regionState) %> | <%= seqNum %> | <%= targetServerName %> | <%= mergeRegionNames %> | @@ -581,6 +621,7 @@ if (fqtn != null && master.isInitialized()) { <%} else { + //Common tables RegionStates states = master.getAssignmentManager().getRegionStates(); Map
|---|
| Name(<%= String.format("%,1d", regions.size())%>) | @@ -845,13 +882,7 @@ if (fqtn != null && master.isInitialized()) {Start Key | End Key | Region State | - <% - if (withReplica) { - %>ReplicaID | - <% - } - %>|||||
|---|---|---|---|---|---|---|---|---|---|
| <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> | - <% - if (urlRegionServer != null) { - %> -- <%= addr == null? "-": StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + ":" + master.getRegionServerInfoPort(addr) %> - | - <% - } else { - %> -not deployed | - <% - } - %> + <%= buildRegionDeployedServerTag(regionInfo, master, regionsToServer) %><%= readReq%> | <%= writeReq%> | <%= regionSize%> | @@ -934,28 +949,16 @@ if (fqtn != null && master.isInitialized()) {<%= escapeXml(Bytes.toStringBinary(regionInfo.getStartKey()))%> | <%= escapeXml(Bytes.toStringBinary(regionInfo.getEndKey()))%> | <%= state%> | - <% - if (withReplica) { - %><%= regionInfo.getReplicaId() %> | - <% - } - %>
This table has <%= numRegions %> regions in total, in order to improve the page load time, - only <%= numRegionsRendered %> regions are displayed here, click - here to see all regions.
- <% } %> + <%= moreRegionsToRender(numRegionsRendered, numRegions, fqtn) %>| Name(<%= String.format("%,1d", regions.size())%>) | @@ -971,7 +974,6 @@ if (fqtn != null && master.isInitialized()) { RegionInfo regionInfo = hriEntry.getKey(); ServerName addr = regionsToServer.get(regionInfo); RegionMetrics load = hriEntry.getValue(); - String urlRegionServer = null; float locality = 0.0f; float localityForSsd = 0.0f; String state = "N/A"; @@ -980,30 +982,12 @@ if (fqtn != null && master.isInitialized()) { localityForSsd = load.getDataLocalityForSsd(); } - if (addr != null) { - // This port might be wrong if RS actually ended up using something else. - urlRegionServer = - "//" + URLEncoder.encode(addr.getHostname()) + ":" + master.getRegionServerInfoPort(addr) + "/rs-status"; - } - if (numRegionsRendered < numRegionsToRender) { numRegionsRendered++; %>||||
|---|---|---|---|---|
| <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> | - <% - if (urlRegionServer != null) { - %> -- <%= addr == null? "-": StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + ":" + master.getRegionServerInfoPort(addr) %> - | - <% - } else { - %> -not deployed | - <% - } - %> + <%= buildRegionDeployedServerTag(regionInfo, master, regionsToServer) %><%= locality%> | <%= localityForSsd%> |
| <%= escapeXml(Bytes.toStringBinary(regionInfo.getRegionName())) %> | - <% - if (urlRegionServer != null) { - %> -- <%= addr == null? "-": StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + ":" + master.getRegionServerInfoPort(addr) %> - | - <% - } else { - %> -not deployed | - <% - } - %> + <%= buildRegionDeployedServerTag(regionInfo, master, regionsToServer) %><%= String.format("%,1d", compactingCells)%> | <%= String.format("%,1d", compactedCells)%> | <%= String.format("%,1d", compactingCells - compactedCells)%> | @@ -1077,48 +1043,36 @@ if (fqtn != null && master.isInitialized()) { <% } %>
This table has <%= numRegions %> regions in total, in order to improve the page load time, - only <%= numRegionsRendered %> regions are displayed here, click - here to see all regions.
- <% } %> + <%= moreRegionsToRender(numRegionsRendered, numRegions, fqtn) %>| Region Server | Region Count | Primary Region Count |
|---|
| Region Server | Region Count | |
|---|---|---|
| <%= StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + ":" + master.getRegionServerInfoPort(addr) %> | -<%= rdEntry.getValue()%> | -<% -if (withReplica) { -%> -<%= primaryRegDistribution.get(addr)%> | -<% -} -%> -
| Region Server | Region Count | Primary Region Count | +
|---|---|---|
| <%= StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + + ":" + master.getRegionServerInfoPort(addr) %> | +<%= rdEntry.getValue()%> | +<%= primaryRegDistribution.get(addr) == null ? 0 : primaryRegDistribution.get(addr)%> | +
-