.../org/apache/hadoop/hbase/regionserver/StoreFile.java | 13 +++++++++++++ .../main/resources/hbase-webapps/regionserver/region.jsp | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java index d9fd1d912a..7aba1641c5 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java @@ -20,7 +20,9 @@ package org.apache.hadoop.hbase.regionserver; import java.io.DataInput; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.InetSocketAddress; +import java.net.URLEncoder; import java.nio.ByteBuffer; import java.util.Arrays; import java.util.Collection; @@ -286,6 +288,17 @@ public class StoreFile { public Path getPath() { return this.fileInfo.getPath(); } + + /** + * @return Encoded Path if this StoreFile was made with a Stream. + */ + public Path getEncodedPath() { + try { + return new Path(URLEncoder.encode(fileInfo.getPath().toString(), "UTF-8")); + } catch (UnsupportedEncodingException ex) { + throw new RuntimeException("URLEncoder doesn't support UTF-8", ex); + } + } /** * @return Returns the qualified path of this StoreFile 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 62e1b66fb8..63e3bce913 100644 --- a/hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp +++ b/hbase-server/src/main/resources/hbase-webapps/regionserver/region.jsp @@ -112,7 +112,7 @@ <% for(StoreFile sf : storeFiles) { %> - <%= sf.getPath() %> + <%= sf.getPath() %> <%= (int) (rs.getFileSystem().getLength(sf.getPath()) / 1024 / 1024) %> <%= new Date(sf.getModificationTimeStamp()) %>