HBASE-25980 Master table.jsp pointed at meta throws 500 when no all r… (#3373)

Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
GeorryHuang 2021-06-27 22:30:46 +08:00 committed by GitHub
parent c707a9ffff
commit 166becfd66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 29 additions and 4 deletions

View File

@ -61,7 +61,8 @@
import="org.apache.hadoop.hbase.master.http.MetaBrowser"
import="org.apache.hadoop.hbase.master.http.RegionReplicaInfo"
import="org.apache.hadoop.hbase.quotas.QuotaSettingsFactory"
import="org.apache.hadoop.hbase.quotas.QuotaTableUtil"%>
import="org.apache.hadoop.hbase.quotas.QuotaTableUtil"
import="org.apache.hadoop.hbase.NotAllMetaRegionsOnlineException" %>
<%@ page import="org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot" %>
<%@ page import="org.apache.hadoop.hbase.quotas.ThrottleSettings" %>
<%@ page import="org.apache.hadoop.hbase.util.Bytes" %>
@ -268,8 +269,16 @@
for (int j = 0; j < numMetaReplicas; j++) {
RegionInfo meta = RegionReplicaUtil.getRegionInfoForReplica(
RegionInfoBuilder.FIRST_META_REGIONINFO, j);
ServerName metaLocation = MetaTableLocator.waitMetaRegionLocation(master.getZooKeeper(), j, 1);
//If a metaLocation is null, All of its info would be empty here to be displayed.
ServerName metaLocation = null;
try {
metaLocation = MetaTableLocator.waitMetaRegionLocation(master.getZooKeeper(), j, 1);
} catch (NotAllMetaRegionsOnlineException e) {
//Region in transition state here throw a NotAllMetaRegionsOnlineException causes
//the UI crash.
}
for (int i = 0; i < 1; i++) {
//If metaLocation is null, default value below would be displayed in UI.
String hostAndPort = "";
String readReq = "N/A";
String writeReq = "N/A";
@ -338,8 +347,16 @@
for (int j = 0; j < numMetaReplicas; j++) {
RegionInfo meta = RegionReplicaUtil.getRegionInfoForReplica(
RegionInfoBuilder.FIRST_META_REGIONINFO, j);
ServerName metaLocation = MetaTableLocator.waitMetaRegionLocation(master.getZooKeeper(), j, 1);
//If a metaLocation is null, All of its info would be empty here to be displayed.
ServerName metaLocation = null;
try {
metaLocation = MetaTableLocator.waitMetaRegionLocation(master.getZooKeeper(), j, 1);
} catch (NotAllMetaRegionsOnlineException e) {
//Region in transition state here throw a NotAllMetaRegionsOnlineException causes
//the UI crash.
}
for (int i = 0; i < 1; i++) {
//If metaLocation is null, default value below would be displayed in UI.
String hostAndPort = "";
float locality = 0.0f;
float localityForSsd = 0.0f;
@ -385,8 +402,16 @@
for (int j = 0; j < numMetaReplicas; j++) {
RegionInfo meta = RegionReplicaUtil.getRegionInfoForReplica(
RegionInfoBuilder.FIRST_META_REGIONINFO, j);
ServerName metaLocation = MetaTableLocator.waitMetaRegionLocation(master.getZooKeeper(), j, 1);
//If a metaLocation is null, All of its info would be empty here to be displayed.
ServerName metaLocation = null;
try {
metaLocation = MetaTableLocator.waitMetaRegionLocation(master.getZooKeeper(), j, 1);
} catch (NotAllMetaRegionsOnlineException e) {
//Region in transition state here throw a NotAllMetaRegionsOnlineException causes
//the UI crash.
}
for (int i = 0; i < 1; i++) {
//If metaLocation is null, default value below would be displayed in UI.
String hostAndPort = "";
long compactingCells = 0;
long compactedCells = 0;