From 6a86bd04d77cbb5a42919b07a300bb5ab792b4aa Mon Sep 17 00:00:00 2001 From: Mohammad Arshad Date: Mon, 20 Jul 2020 14:26:26 +0530 Subject: [PATCH] HBASE-24675: On Master restart all servers are assigned to default rsgroup --- .../hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java index fa044309694c..6799e69fb9f4 100644 --- a/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java +++ b/hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java @@ -333,7 +333,7 @@ private synchronized void refresh(boolean forceOnline) throws IOException { // so it overwrites the default group loaded // from region group table or zk groupList.add(new RSGroupInfo(RSGroupInfo.DEFAULT_GROUP, - Sets.newHashSet(getDefaultServers()), + Sets.newHashSet(getDefaultServers(groupList)), orphanTables)); // populate the data @@ -479,9 +479,13 @@ private List getOnlineRS() throws IOException { } private List
getDefaultServers() throws IOException { + return getDefaultServers(listRSGroups() /* get from rsGroupMap */); + } + + private List
getDefaultServers(List rsGroupInfoList) throws IOException { // Build a list of servers in other groups than default group, from rsGroupMap Set
serverAddressesInOtherGroups = new HashSet<>(); - for (RSGroupInfo group : listRSGroups() /* get from rsGroupMap */) { + for (RSGroupInfo group : rsGroupInfoList) { if (!RSGroupInfo.DEFAULT_GROUP.equals(group.getName())) { // not default group serverAddressesInOtherGroups.addAll(group.getServers()); }