HBASE-22751 table.jsp fails if ugly regions in table

This commit is contained in:
stack 2019-07-26 21:32:37 -07:00
parent 4a83de75c7
commit 8b1952a42a
1 changed files with 11 additions and 8 deletions

View File

@ -27,6 +27,7 @@
import="java.util.List"
import="java.util.Map"
import="java.util.TreeMap"
import=" java.util.concurrent.TimeUnit"
import="org.apache.commons.lang3.StringEscapeUtils"
import="org.apache.hadoop.conf.Configuration"
import="org.apache.hadoop.hbase.HColumnDescriptor"
@ -35,8 +36,10 @@
import="org.apache.hadoop.hbase.ServerName"
import="org.apache.hadoop.hbase.TableName"
import="org.apache.hadoop.hbase.TableNotFoundException"
import="org.apache.hadoop.hbase.client.Admin"
import="org.apache.hadoop.hbase.client.AsyncAdmin"
import="org.apache.hadoop.hbase.client.AsyncConnection"
import="org.apache.hadoop.hbase.client.CompactionState"
import="org.apache.hadoop.hbase.client.ConnectionFactory"
import="org.apache.hadoop.hbase.client.RegionInfo"
import="org.apache.hadoop.hbase.client.RegionInfoBuilder"
import="org.apache.hadoop.hbase.client.RegionLocator"
@ -117,6 +120,8 @@
pageTitle = "Table: " + escaped_fqtn;
}
pageContext.setAttribute("pageTitle", pageTitle);
AsyncConnection connection = ConnectionFactory.createAsyncConnection(master.getConfiguration()).get();
AsyncAdmin admin = connection.getAdminBuilder().setOperationTimeout(5, TimeUnit.SECONDS).build();
%>
<jsp:include page="header.jsp">
@ -143,7 +148,6 @@ if (fqtn != null && master.isInitialized()) {
</div>
<p><hr><p>
<%
try (Admin admin = master.getConnection().getAdmin()) {
if (action.equals("split")) {
if (key != null && key.length() > 0) {
admin.split(TableName.valueOf(fqtn), Bytes.toBytes(key));
@ -154,7 +158,7 @@ if (fqtn != null && master.isInitialized()) {
%> Split request accepted. <%
} else if (action.equals("compact")) {
if (key != null && key.length() > 0) {
List<RegionInfo> regions = admin.getRegions(TableName.valueOf(fqtn));
List<RegionInfo> regions = admin.getRegions(TableName.valueOf(fqtn)).get();
byte[] row = Bytes.toBytes(key);
for (RegionInfo region : regions) {
@ -172,7 +176,6 @@ if (fqtn != null && master.isInitialized()) {
}
%> Merge request accepted. <%
}
}
%>
<jsp:include page="redirect.jsp" />
</div>
@ -260,7 +263,7 @@ if (fqtn != null && master.isInitialized()) {
</tr>
<tr>
<td>Enabled</td>
<td><%= admin.isTableEnabled(table.getName()) %></td>
<td><%= admin.isTableEnabled(table.getName()).get() %></td>
<td>Is the table enabled</td>
</tr>
<tr>
@ -268,7 +271,7 @@ if (fqtn != null && master.isInitialized()) {
<td>
<%
try {
CompactionState compactionState = admin.getCompactionState(table.getName());
CompactionState compactionState = admin.getCompactionState(table.getName()).get();
%>
<%= compactionState %>
<%
@ -503,7 +506,7 @@ if (fqtn != null && master.isInitialized()) {
if (urlRegionServer != null) {
%>
<td>
<a href="<%= urlRegionServer %>"><%= StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + ":" + master.getRegionServerInfoPort(addr) %></a>
<a href="<%= urlRegionServer %>"><%= addr == null? "-": StringEscapeUtils.escapeHtml4(addr.getHostname().toString()) + ":" + master.getRegionServerInfoPort(addr) %></a>
</td>
<%
} else {
@ -577,7 +580,7 @@ if (withReplica) {
%><%= StringEscapeUtils.escapeHtml4(element.toString()) %><%
}
} finally {
admin.close();
connection.close();
}
} // end else
%>