You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2020/11/23 05:31:20 UTC
[hbase] branch branch-2.2 updated: HBASE-25311 UI throws NPE (#2688)
This is an automated email from the ASF dual-hosted git repository.
zghao pushed a commit to branch branch-2.2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.2 by this push:
new 59c602b HBASE-25311 UI throws NPE (#2688)
59c602b is described below
commit 59c602b08015e3983d5508679ae4d81236ed6941
Author: Bo Cui <cu...@163.com>
AuthorDate: Mon Nov 23 12:07:42 2020 +0800
HBASE-25311 UI throws NPE (#2688)
Signed-off-by: Guanghao Zhang <zg...@apache.org>
Signed-off-by: Wellington Chevreuil <we...@gmail.com>
Signed-off-by: Viraj Jasani <vj...@apache.org>
---
.../src/main/java/org/apache/hadoop/hbase/master/HMaster.java | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index d463bc0..95a2e5c 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -3660,8 +3660,15 @@ public class HMaster extends HRegionServer implements MasterServices {
List<ReplicationLoadSource> replicationLoadSources =
getServerManager().getLoad(serverName).getReplicationLoadSourceList();
for (ReplicationLoadSource replicationLoadSource : replicationLoadSources) {
- replicationLoadSourceMap.get(replicationLoadSource.getPeerID())
- .add(new Pair<>(serverName, replicationLoadSource));
+ List<Pair<ServerName, ReplicationLoadSource>> replicationLoadSourceList =
+ replicationLoadSourceMap.get(replicationLoadSource.getPeerID());
+ if (replicationLoadSourceList == null) {
+ LOG.debug("{} does not exist, but it exists "
+ + "in znode(/hbase/replication/rs). when the rs restarts, peerId is deleted, so "
+ + "we just need to ignore it", replicationLoadSource.getPeerID());
+ continue;
+ }
+ replicationLoadSourceList.add(new Pair<>(serverName, replicationLoadSource));
}
}
for (List<Pair<ServerName, ReplicationLoadSource>> loads : replicationLoadSourceMap.values()) {