Skip to content

Commit

Permalink
HBASE-26962: Add mob info in web UI (apache#4359)
Browse files Browse the repository at this point in the history
Signed-off-by: Duo Zhang <zhangduo@apache.org>
  • Loading branch information
liangxs authored and wenwj0 committed Jun 14, 2022
1 parent f133df4 commit f4969ca
Showing 1 changed file with 52 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,18 @@
*/
--%>
<%@ page contentType="text/html;charset=UTF-8"
import="java.net.URLEncoder"
import="java.util.Collection"
import="java.util.Date"
import="java.util.List"
import="org.apache.hadoop.fs.FileStatus"
import="org.apache.hadoop.fs.Path"
import="org.apache.hadoop.hbase.HConstants"
import="org.apache.hadoop.hbase.client.RegionInfoDisplay"
import="org.apache.hadoop.hbase.mob.MobUtils"
import="org.apache.hadoop.hbase.regionserver.HRegionServer"
import="org.apache.hadoop.hbase.regionserver.HMobStore"
import="org.apache.hadoop.hbase.regionserver.HStoreFile"
import="org.apache.hadoop.hbase.regionserver.Region"
import="org.apache.hadoop.hbase.regionserver.Store"
import="org.apache.hadoop.hbase.regionserver.StoreFile"
Expand Down Expand Up @@ -80,7 +87,51 @@

<p> <%= storeFiles.size() %> StoreFile(s) in set.</p>
</table>
<% }

<% if (store instanceof HMobStore) { %>
<h4>MOB Files</h4>
<table class="table table-striped">
<tr>
<th>MOB File</th>
<th>Size (MB)</th>
<th>Modification time</th>
</tr>

<%
int mobCnt = 0;
for (StoreFile sf : storeFiles) {
try {
byte[] value = ((HStoreFile)sf).getMetadataValue(HStoreFile.MOB_FILE_REFS);
if (value == null) {
continue;
}
Collection<String> fileNames = MobUtils.deserializeMobFileRefs(value).build().values();
mobCnt += fileNames.size();
for (String fileName : fileNames) {
Path mobPath = new Path(((HMobStore) store).getPath(), fileName);
FileStatus status = rs.getFileSystem().getFileStatus(mobPath);
String mobPathStr = mobPath.toString();
String encodedStr = URLEncoder.encode(mobPathStr, HConstants.UTF8_ENCODING); %>

<tr>
<td><a href="storeFile.jsp?name=<%= encodedStr%>"><%= mobPathStr%></a></td>
<td><%= status.getLen() / 1024 / 1024 %></td>
<td><%= new Date(status.getModificationTime()) %></td>
</tr>

<% }
} catch (Exception e) { %>
<tr>
<td><%= e %></td>
</tr>
<% }
} %>

<p> <%= mobCnt %> MobFile(s) in set.</p>
</table>
<% }
}
}%>
</div>

Expand Down

0 comments on commit f4969ca

Please sign in to comment.