diff --git hbase-server/src/main/resources/hbase-webapps/master/header.jsp hbase-server/src/main/resources/hbase-webapps/master/header.jsp
index c7cbf3ec99..133fd74133 100644
--- hbase-server/src/main/resources/hbase-webapps/master/header.jsp
+++ hbase-server/src/main/resources/hbase-webapps/master/header.jsp
@@ -61,6 +61,7 @@
<% if (HBaseConfiguration.isShowConfInServlet()) { %>
HBase Configuration
<% } %>
+ Region State dump
diff --git hbase-server/src/main/resources/hbase-webapps/master/table.jsp hbase-server/src/main/resources/hbase-webapps/master/table.jsp
index c8ca50ba53..8e1ffe7c43 100644
--- hbase-server/src/main/resources/hbase-webapps/master/table.jsp
+++ hbase-server/src/main/resources/hbase-webapps/master/table.jsp
@@ -27,6 +27,7 @@
import="java.util.LinkedHashMap"
import="java.util.List"
import="java.util.Map"
+ import="java.util.HashMap"
import="java.util.TreeMap"
import="org.apache.commons.lang3.StringEscapeUtils"
import="org.apache.hadoop.conf.Configuration"
@@ -46,6 +47,8 @@
import="org.apache.hadoop.hbase.client.RegionReplicaUtil"
import="org.apache.hadoop.hbase.client.Table"
import="org.apache.hadoop.hbase.master.HMaster"
+ import="org.apache.hadoop.hbase.master.assignment.RegionStates"
+ import="org.apache.hadoop.hbase.master.RegionState"
import="org.apache.hadoop.hbase.quotas.QuotaTableUtil"
import="org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot"
import="org.apache.hadoop.hbase.util.Bytes"
@@ -247,6 +250,14 @@ if ( fqtn != null ) {
<%} else {
Admin admin = master.getConnection().getAdmin();
+ RegionStates states = master.getAssignmentManager().getRegionStates();
+ Map> regionStates = states.getRegionByStateOfTable(table.getName());
+ Map stateMap = new HashMap<>();
+ for (RegionState.State regionState : regionStates.keySet()) {
+ for (RegionInfo regionInfo : regionStates.get(regionState)) {
+ stateMap.put(regionInfo.getEncodedName(), regionState);
+ }
+ }
RegionLocator r = master.getClusterConnection().getRegionLocator(table.getName());
try { %>
Table Attributes
@@ -452,6 +463,7 @@ ShowDetailName&Start/End Key
<%= escapeXml(showWhole?Bytes.toStringBinary(regionInfo.getEndKey()):"-")%> |
+ <%= state%> |
<%
if (withReplica) {
%>