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

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

View File

@ -62,7 +62,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" %>
@ -313,8 +314,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";
@ -378,8 +387,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;
@ -426,8 +443,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;