diff --git a/hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp b/hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp index 382783ea4bad..72bc638202f1 100644 --- a/hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp @@ -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" @@ -80,7 +87,51 @@

<%= storeFiles.size() %> StoreFile(s) in set.

- <% } + + <% if (store instanceof HMobStore) { %> +

MOB Files

+ + + + + + + + <% + int mobCnt = 0; + for (StoreFile sf : storeFiles) { + try { + byte[] value = ((HStoreFile)sf).getMetadataValue(HStoreFile.MOB_FILE_REFS); + if (value == null) { + continue; + } + + Collection 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); %> + + + + + + + + <% } + } catch (Exception e) { %> + + + + <% } + } %> + +

<%= mobCnt %> MobFile(s) in set.

+
MOB FileSize (MB)Modification time
<%= mobPathStr%><%= status.getLen() / 1024 / 1024 %><%= new Date(status.getModificationTime()) %>
<%= e %>
+ <% } + } }%>