You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by br...@apache.org on 2019/10/09 14:31:03 UTC
[hbase] branch master updated: HBASE-23115 Unit change for
StoreFileSize and MemstoreSize (table.jsp) (#682)
This is an automated email from the ASF dual-hosted git repository.
brfrn169 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new fdac2dd HBASE-23115 Unit change for StoreFileSize and MemstoreSize (table.jsp) (#682)
fdac2dd is described below
commit fdac2ddc81c785d9e6d44465d8d4893c15fdab72
Author: Karthik Palanisamy <kp...@hortonworks.com>
AuthorDate: Wed Oct 9 07:30:56 2019 -0700
HBASE-23115 Unit change for StoreFileSize and MemstoreSize (table.jsp) (#682)
Signed-off-by: Toshihiro Suzuki <br...@gmail.com>
---
.../hadoop/hbase/tmpl/master/RSGroupListTmpl.jamon | 61 ++++++++++++++-----
.../hbase/tmpl/master/RegionServerListTmpl.jamon | 65 ++++++++++++++------
.../hbase/tmpl/regionserver/RegionListTmpl.jamon | 52 ++++++++++++----
.../resources/hbase-webapps/master/rsgroup.jsp | 69 ++++++++++++++++------
.../main/resources/hbase-webapps/master/table.jsp | 56 ++++++++++++++----
5 files changed, 233 insertions(+), 70 deletions(-)
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.jamon
index 41fe487..61ddf09 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.jamon
@@ -42,7 +42,6 @@ ServerManager serverManager;
<%java>
List<RSGroupInfo> groups = RSGroupTableAccessor.getAllRSGroupInfo(master.getConnection());
</%java>
-
<%if (groups != null && groups.size() > 0)%>
<%java>
@@ -170,6 +169,10 @@ if (master.getServerManager() != null) {
</tr>
<%java>
+ final String ZEROMB = "0 MB";
+ String usedHeapStr = ZEROMB;
+ String maxHeapStr = ZEROMB;
+ String memstoreSizeStr = ZEROMB;
for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
String rsGroupName = rsGroupInfo.getName();
long usedHeap = 0;
@@ -184,15 +187,25 @@ if (master.getServerManager() != null) {
rm -> rm.getMemStoreSize().get(Size.Unit.MEGABYTE)).sum();
}
}
+
+ if (usedHeap > 0) {
+ usedHeapStr = TraditionalBinaryPrefix.long2String(usedHeap
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (maxHeap > 0) {
+ maxHeapStr = TraditionalBinaryPrefix.long2String(maxHeap
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (memstoreSize > 0) {
+ memstoreSizeStr = TraditionalBinaryPrefix.long2String(memstoreSize
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
</%java>
<tr>
<td><& rsGroupLink; rsGroupName=rsGroupName; &></td>
- <td><% TraditionalBinaryPrefix.long2String(usedHeap
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><% TraditionalBinaryPrefix.long2String(maxHeap
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><% TraditionalBinaryPrefix.long2String(memstoreSize
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
+ <td><% usedHeapStr %></td>
+ <td><% maxHeapStr %></td>
+ <td><% memstoreSizeStr %></td>
</tr>
<%java>
@@ -259,6 +272,12 @@ if (master.getServerManager() != null) {
<th>Bloom Size</th>
</tr>
<%java>
+ final String ZEROKB = "0 KB";
+ final String ZEROMB = "0 MB";
+ String uncompressedStorefileSizeStr = ZEROMB;
+ String storefileSizeStr = ZEROMB;
+ String indexSizeStr = ZEROKB;
+ String bloomSizeStr = ZEROKB;
for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
String rsGroupName = rsGroupInfo.getName();
int numStores = 0;
@@ -282,19 +301,31 @@ if (master.getServerManager() != null) {
count++;
}
}
+ if (uncompressedStorefileSize > 0) {
+ uncompressedStorefileSizeStr = TraditionalBinaryPrefix.
+ long2String(uncompressedStorefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (storefileSize > 0) {
+ storefileSizeStr = TraditionalBinaryPrefix.
+ long2String(storefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (indexSize > 0) {
+ indexSizeStr = TraditionalBinaryPrefix.
+ long2String(indexSize * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
+ if (bloomSize > 0) {
+ bloomSizeStr = TraditionalBinaryPrefix.
+ long2String(bloomSize * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
</%java>
<tr>
<td><& rsGroupLink; rsGroupName=rsGroupName; &></td>
<td><% numStores %></td>
<td><% numStorefiles %></td>
-<td><% TraditionalBinaryPrefix.long2String(
- uncompressedStorefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
-<td><% TraditionalBinaryPrefix.long2String(
- storefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
-<td><% TraditionalBinaryPrefix.long2String(
- indexSize * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
-<td><% TraditionalBinaryPrefix.long2String(
- bloomSize * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
+<td><% uncompressedStorefileSizeStr %></td>
+<td><% storefileSizeStr %></td>
+<td><% indexSizeStr %></td>
+<td><% bloomSizeStr %></td>
</tr>
<%java>
}
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
index 1346ce8..5ce19ab 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
@@ -37,7 +37,6 @@ HMaster master;
org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix;
</%import>
-
<%if (servers != null && servers.size() > 0)%>
<%java>
@@ -162,24 +161,38 @@ Arrays.sort(serverNames);
</thead>
<tbody>
<%java>
+final String ZEROMB = "0 MB";
+String usedHeapStr = ZEROMB;
+String maxHeapStr = ZEROMB;
+String memStoreSizeMBStr = ZEROMB;
for (ServerName serverName: serverNames) {
-
ServerMetrics sl = master.getServerManager().getLoad(serverName);
if (sl != null) {
long memStoreSizeMB = 0;
for (RegionMetrics rl : sl.getRegionMetrics().values()) {
memStoreSizeMB += rl.getMemStoreSize().get(Size.Unit.MEGABYTE);
}
+ if (memStoreSizeMB > 0) {
+ memStoreSizeMBStr = TraditionalBinaryPrefix.long2String(memStoreSizeMB
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+
+ double usedHeapSizeMB = sl.getUsedHeapSize().get(Size.Unit.MEGABYTE);
+ if (usedHeapSizeMB > 0) {
+ usedHeapStr = TraditionalBinaryPrefix.long2String((long) usedHeapSizeMB
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ double maxHeapSizeMB = sl.getMaxHeapSize().get(Size.Unit.MEGABYTE);
+ if (maxHeapSizeMB > 0) {
+ maxHeapStr = TraditionalBinaryPrefix.long2String((long) maxHeapSizeMB
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
</%java>
<tr>
<td><& serverNameLink; serverName=serverName; &></td>
- <td><% TraditionalBinaryPrefix.long2String((long) sl.getUsedHeapSize().get(Size.Unit.MEGABYTE)
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><% TraditionalBinaryPrefix.long2String((long) sl.getMaxHeapSize().get(Size.Unit.MEGABYTE)
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><% TraditionalBinaryPrefix.long2String(memStoreSizeMB
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
-
+ <td><% usedHeapStr %></td>
+ <td><% maxHeapStr %></td>
+ <td><% memStoreSizeMBStr %></td>
</tr>
<%java>
} else {
@@ -261,6 +274,12 @@ if (sl != null) {
</thead>
<tbody>
<%java>
+final String ZEROKB = "0 KB";
+final String ZEROMB = "0 MB";
+String storeUncompressedSizeMBStr = ZEROMB;
+String storeFileSizeMBStr = ZEROMB;
+String totalStaticIndexSizeKBStr = ZEROKB;
+String totalStaticBloomSizeKBStr = ZEROKB;
for (ServerName serverName: serverNames) {
ServerMetrics sl = master.getServerManager().getLoad(serverName);
@@ -279,19 +298,31 @@ if (sl != null) {
totalStaticIndexSizeKB += rl.getStoreFileUncompressedDataIndexSize().get(Size.Unit.KILOBYTE);
totalStaticBloomSizeKB += rl.getBloomFilterSize().get(Size.Unit.KILOBYTE);
}
+ if (storeUncompressedSizeMB > 0) {
+ storeUncompressedSizeMBStr = TraditionalBinaryPrefix.
+ long2String(storeUncompressedSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (storeFileSizeMB > 0) {
+ storeFileSizeMBStr = TraditionalBinaryPrefix.
+ long2String(storeFileSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (totalStaticIndexSizeKB > 0) {
+ totalStaticIndexSizeKBStr = TraditionalBinaryPrefix.
+ long2String(totalStaticIndexSizeKB * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
+ if (totalStaticBloomSizeKB > 0) {
+ totalStaticBloomSizeKBStr = TraditionalBinaryPrefix.
+ long2String(totalStaticBloomSizeKB * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
</%java>
<tr>
<td><& serverNameLink; serverName=serverName; &></td>
<td><% String.format("%,d", storeCount) %></td>
<td><% String.format("%,d", storeFileCount) %></td>
-<td><% TraditionalBinaryPrefix.long2String(
- storeUncompressedSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
-<td><% TraditionalBinaryPrefix.long2String(storeFileSizeMB
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
-<td><% TraditionalBinaryPrefix.long2String(totalStaticIndexSizeKB
- * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
-<td><% TraditionalBinaryPrefix.long2String(totalStaticBloomSizeKB
- * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
+<td><% storeUncompressedSizeMBStr %></td>
+<td><% storeFileSizeMBStr %></td>
+<td><% totalStaticIndexSizeKBStr %></td>
+<td><% totalStaticBloomSizeKBStr %></td>
</tr>
<%java>
} else {
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
index 066fe53..1a73394 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
@@ -176,22 +176,46 @@
<tr>
<%java>
+ final String ZEROMB = "0 MB";
+ final String ZEROKB = "0 KB";
+ String uncompressedStorefileSizeStr = ZEROMB;
+ String storefileSizeStr = ZEROMB;
+ String indexSizeStr = ZEROKB;
+ String bloomSizeStr = ZEROKB;
RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());
String displayName = RegionInfoDisplay.getRegionNameAsStringForDisplay(r,
regionServer.getConfiguration());
+ if (load != null) {
+ long uncompressedStorefileSize = load.getStoreUncompressedSizeMB();
+ long storefileSize = load.getStorefileSizeMB();
+ long indexSize = load.getTotalStaticIndexSizeKB();
+ long bloomSize = load.getTotalStaticBloomSizeKB();
+ if (uncompressedStorefileSize > 0) {
+ uncompressedStorefileSizeStr = TraditionalBinaryPrefix.long2String(
+ uncompressedStorefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (storefileSize > 0) {
+ storefileSizeStr = TraditionalBinaryPrefix.long2String(storefileSize
+ * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if(indexSize > 0) {
+ indexSizeStr = TraditionalBinaryPrefix.long2String(indexSize
+ * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
+ if (bloomSize > 0) {
+ bloomSizeStr = TraditionalBinaryPrefix.long2String(bloomSize
+ * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
+ }
</%java>
<td><a href="region.jsp?name=<% r.getEncodedName() %>"><% displayName %></a></td>
<%if load != null %>
<td><% String.format("%,1d", load.getStores()) %></td>
<td><% String.format("%,1d", load.getStorefiles()) %></td>
- <td><% TraditionalBinaryPrefix.long2String(load.getStoreUncompressedSizeMB()
- * TraditionalBinaryPrefix.MEGA.value, "B", 1)%></td>
- <td><% TraditionalBinaryPrefix.long2String(load.getStorefileSizeMB()
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><% TraditionalBinaryPrefix.long2String(load.getTotalStaticIndexSizeKB()
- * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
- <td><% TraditionalBinaryPrefix.long2String(load.getTotalStaticBloomSizeKB()
- * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
+ <td><% uncompressedStorefileSizeStr %></td>
+ <td><% storefileSizeStr %></td>
+ <td><% indexSizeStr %></td>
+ <td><% bloomSizeStr %></td>
<td><% load.getDataLocality() %></td>
</%if>
</tr>
@@ -267,14 +291,22 @@
<tr>
<%java>
+ final String ZEROMB = "0 MB";
+ String memStoreSizeMBStr = ZEROMB;
RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());
String displayName = RegionInfoDisplay.getRegionNameAsStringForDisplay(r,
regionServer.getConfiguration());
+ if (load != null) {
+ long memStoreSizeMB = load.getMemStoreSizeMB();
+ if (memStoreSizeMB > 0) {
+ memStoreSizeMBStr = TraditionalBinaryPrefix.long2String(
+ memStoreSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ }
</%java>
<td><a href="region.jsp?name=<% r.getEncodedName() %>"><% displayName %></a></td>
<%if load != null %>
- <td><% TraditionalBinaryPrefix.long2String(
- load.getMemStoreSizeMB() * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
+ <td><% memStoreSizeMBStr %></td>
</%if>
</tr>
</%for>
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/rsgroup.jsp b/hbase-server/src/main/resources/hbase-webapps/master/rsgroup.jsp
index 0b9165b..0e5d6ac 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/rsgroup.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/rsgroup.jsp
@@ -55,7 +55,8 @@
<%
HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
RSGroupInfo rsGroupInfo = null;
-
+ final String ZEROKB = "0 KB";
+ final String ZEROMB = "0 MB";
if (!RSGroupTableAccessor.isRSGroupsEnabled(master.getConnection())) {
%>
<div class="row inner_header">
@@ -211,24 +212,41 @@
<th>Max Heap</th>
<th>Memstore Size</th>
</tr>
- <% for (Address server: rsGroupServers) {
+ <%
+ String usedHeapSizeMBStr = ZEROMB;
+ String maxHeapSizeMBStr = ZEROMB;
+ String memStoreSizeMBStr = ZEROMB;
+
+ for (Address server: rsGroupServers) {
ServerName serverName = serverMaping.get(server);
ServerMetrics sl = onlineServers.get(server);
if (sl != null && serverName != null) {
+ double usedHeapSizeMB = sl.getUsedHeapSize().get(Size.Unit.MEGABYTE);
+ double maxHeapSizeMB = sl.getMaxHeapSize().get(Size.Unit.MEGABYTE);
double memStoreSizeMB = sl.getRegionMetrics().values()
.stream().mapToDouble(rm -> rm.getMemStoreSize().get(Size.Unit.MEGABYTE))
.sum();
int infoPort = master.getRegionServerInfoPort(serverName);
String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status";
+
+ if (memStoreSizeMB > 0) {
+ memStoreSizeMBStr = TraditionalBinaryPrefix.long2String(
+ (long) memStoreSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (usedHeapSizeMB > 0) {
+ usedHeapSizeMBStr = TraditionalBinaryPrefix.long2String(
+ (long) usedHeapSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (maxHeapSizeMB > 0) {
+ maxHeapSizeMBStr = TraditionalBinaryPrefix.long2String(
+ (long) maxHeapSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
%>
<tr>
<td><a href="<%= url %>"><%= serverName.getServerName() %></a></td>
- <td><%= TraditionalBinaryPrefix.long2String((long) sl.getUsedHeapSize().get(Size.Unit.MEGABYTE)
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><%= TraditionalBinaryPrefix.long2String((long) sl.getMaxHeapSize().get(Size.Unit.MEGABYTE)
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><%= TraditionalBinaryPrefix.long2String((long) memStoreSizeMB
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
+ <td><%= usedHeapSizeMBStr %></td>
+ <td><%= maxHeapSizeMBStr %></td>
+ <td><%= memStoreSizeMBStr %></td>
</tr>
<% } else { %>
<tr>
@@ -290,7 +308,12 @@
<th>Index Size</th>
<th>Bloom Size</th>
</tr>
- <% for (Address server: rsGroupServers) {
+ <%
+ String storeUncompressedSizeMBStr = ZEROMB;
+ String storeFileSizeMBStr = ZEROMB;
+ String totalStaticIndexSizeKBStr = ZEROKB;
+ String totalStaticBloomSizeKBStr = ZEROKB;
+ for (Address server: rsGroupServers) {
ServerName serverName = serverMaping.get(server);
ServerMetrics sl = onlineServers.get(server);
if (sl != null && serverName != null) {
@@ -310,19 +333,31 @@
}
int infoPort = master.getRegionServerInfoPort(serverName);
String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status";
+ if (storeUncompressedSizeMB > 0) {
+ storeUncompressedSizeMBStr = TraditionalBinaryPrefix.long2String(
+ (long) storeUncompressedSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (storeFileSizeMB > 0) {
+ storeFileSizeMBStr = TraditionalBinaryPrefix.long2String(
+ (long) storeFileSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1);
+ }
+ if (totalStaticIndexSizeKB > 0) {
+ totalStaticIndexSizeKBStr = TraditionalBinaryPrefix.long2String(
+ (long) totalStaticIndexSizeKB * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
+ if (totalStaticBloomSizeKB > 0) {
+ totalStaticBloomSizeKBStr = TraditionalBinaryPrefix.long2String(
+ (long) totalStaticBloomSizeKB * TraditionalBinaryPrefix.KILO.value, "B", 1);
+ }
%>
<tr>
<td><a href="<%= url %>"><%= serverName.getServerName() %></a></td>
<td><%= storeCount %></td>
<td><%= storeFileCount %></td>
- <td><%= TraditionalBinaryPrefix.long2String(
- (long) storeUncompressedSizeMB * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><%= TraditionalBinaryPrefix.long2String((long) storeFileSizeMB
- * TraditionalBinaryPrefix.MEGA.value, "B", 1) %></td>
- <td><%= TraditionalBinaryPrefix.long2String((long) totalStaticIndexSizeKB
- * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
- <td><%= TraditionalBinaryPrefix.long2String((long) totalStaticBloomSizeKB
- * TraditionalBinaryPrefix.KILO.value, "B", 1) %></td>
+ <td><%= storeUncompressedSizeMBStr %></td>
+ <td><%= storeFileSizeMBStr %></td>
+ <td><%= totalStaticIndexSizeKBStr %></td>
+ <td><%= totalStaticBloomSizeKBStr %></td>
</tr>
<% } else { %>
<tr>
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 96ad9c3..5acfb74 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
@@ -79,6 +79,8 @@
}
%>
<%
+ final String ZEROKB = "0 KB";
+ final String ZEROMB = "0 MB";
HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
Configuration conf = master.getConfiguration();
String fqtn = request.getParameter("name");
@@ -209,9 +211,9 @@ if (fqtn != null && master.isInitialized()) {
String hostAndPort = "";
String readReq = "N/A";
String writeReq = "N/A";
- String fileSize = "N/A";
+ String fileSize = ZEROMB;
String fileCount = "N/A";
- String memSize = "N/A";
+ String memSize = ZEROMB;
float locality = 0.0f;
if (metaLocation != null) {
@@ -224,9 +226,15 @@ if (fqtn != null && master.isInitialized()) {
RegionMetrics load = map.get(meta.getRegionName());
readReq = String.format("%,1d", load.getReadRequestCount());
writeReq = String.format("%,1d", load.getWriteRequestCount());
- fileSize = StringUtils.byteDesc((long) load.getStoreFileSize().get(Size.Unit.BYTE));
+ double rSize = load.getStoreFileSize().get(Size.Unit.BYTE);
+ if (rSize > 0) {
+ fileSize = StringUtils.byteDesc((long) rSize);
+ }
fileCount = String.format("%,1d", load.getStoreFileCount());
- memSize = StringUtils.byteDesc((long) load.getMemStoreSize().get(Size.Unit.BYTE));
+ double mSize = load.getMemStoreSize().get(Size.Unit.BYTE);
+ if (mSize > 0) {
+ memSize = StringUtils.byteDesc((long)mSize);
+ }
locality = load.getDataLocality();
}
}
@@ -439,6 +447,8 @@ if (fqtn != null && master.isInitialized()) {
long totalSize = 0;
long totalStoreFileCount = 0;
long totalMemSize = 0;
+ String totalMemSizeStr = ZEROMB;
+ String totalSizeStr = ZEROMB;
String urlRegionServer = null;
Map<ServerName, Integer> regDistribution = new TreeMap<>();
Map<ServerName, Integer> primaryRegDistribution = new TreeMap<>();
@@ -475,6 +485,12 @@ if (fqtn != null && master.isInitialized()) {
regionsToLoad.put(regionInfo, load0);
}
}
+ if (totalSize > 0) {
+ totalSizeStr = StringUtils.byteDesc(totalSize*1024l*1024);
+ }
+ if (totalMemSize > 0) {
+ totalMemSizeStr = StringUtils.byteDesc(totalMemSize*1024l*1024);
+ }
if(regions != null && regions.size() > 0) { %>
<h2>Table Regions</h2>
@@ -485,9 +501,9 @@ if (fqtn != null && master.isInitialized()) {
<th>Region Server</th>
<th>ReadRequests<br>(<%= String.format("%,1d", totalReadReq)%>)</th>
<th>WriteRequests<br>(<%= String.format("%,1d", totalWriteReq)%>)</th>
-<th>StorefileSize<br>(<%= StringUtils.byteDesc(totalSize*1024l*1024)%>)</th>
+<th>StorefileSize<br>(<%= totalSizeStr %>)</th>
<th>Num.Storefiles<br>(<%= String.format("%,1d", totalStoreFileCount)%>)</th>
-<th>MemSize<br>(<%= StringUtils.byteDesc(totalMemSize*1024l*1024)%>)</th>
+<th>MemSize<br>(<%= totalMemSizeStr %>)</th>
<th>Locality</th>
<th>Start Key</th>
<th>End Key</th>
@@ -517,17 +533,23 @@ if (fqtn != null && master.isInitialized()) {
RegionMetrics load = hriEntry.getValue();
String readReq = "N/A";
String writeReq = "N/A";
- String regionSize = "N/A";
+ String regionSize = ZEROMB;
String fileCount = "N/A";
- String memSize = "N/A";
+ String memSize = ZEROMB;
float locality = 0.0f;
String state = "N/A";
if(load != null) {
readReq = String.format("%,1d", load.getReadRequestCount());
writeReq = String.format("%,1d", load.getWriteRequestCount());
- regionSize = StringUtils.byteDesc((long) load.getStoreFileSize().get(Size.Unit.BYTE));
+ double rSize = load.getStoreFileSize().get(Size.Unit.BYTE);
+ if (rSize > 0) {
+ regionSize = StringUtils.byteDesc((long)rSize);
+ }
fileCount = String.format("%,1d", load.getStoreFileCount());
- memSize = StringUtils.byteDesc((long) load.getMemStoreSize().get(Size.Unit.BYTE));
+ double mSize = load.getMemStoreSize().get(Size.Unit.BYTE);
+ if (mSize > 0) {
+ memSize = StringUtils.byteDesc((long)mSize);
+ }
locality = load.getDataLocality();
}
@@ -649,7 +671,19 @@ if (withReplica) {
</tr>
<tr>
<td>Size</td>
- <td><%= StringUtils.TraditionalBinaryPrefix.long2String(totalStoreFileSizeMB * 1024 * 1024, "B", 2)%></td>
+ <td>
+ <%
+ if (totalStoreFileSizeMB > 0) {
+ %>
+ <%= StringUtils.TraditionalBinaryPrefix.
+ long2String(totalStoreFileSizeMB * 1024 * 1024, "B", 2)%></td>
+ <%
+ } else {
+ %>
+ 0 MB </td>
+ <%
+ }
+ %>
<td>Total size of store files</td>
</tr>
</table>