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 79ed2607e071..cab3a64004ce 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 @@ -186,6 +186,7 @@ import org.apache.hadoop.hbase.replication.master.ReplicationLogCleaner; import org.apache.hadoop.hbase.replication.master.ReplicationPeerConfigUpgrader; import org.apache.hadoop.hbase.replication.regionserver.ReplicationStatus; +import org.apache.hadoop.hbase.rsgroup.RSGroupInfoManager; import org.apache.hadoop.hbase.security.AccessDeniedException; import org.apache.hadoop.hbase.security.SecurityConstants; import org.apache.hadoop.hbase.security.UserProvider; @@ -350,6 +351,8 @@ public void run() { // manager of assignment nodes in zookeeper private AssignmentManager assignmentManager; + private RSGroupInfoManager rsGroupInfoManager; + // manager of replication private ReplicationPeerManager replicationPeerManager; @@ -772,6 +775,8 @@ protected void initializeZKBasedSystemTrackers() this.splitOrMergeTracker = new SplitOrMergeTracker(zooKeeper, conf, this); this.splitOrMergeTracker.start(); + this.rsGroupInfoManager = RSGroupInfoManager.create(this); + this.replicationPeerManager = ReplicationPeerManager.create(zooKeeper, conf); this.drainingServerTracker = new DrainingServerTracker(zooKeeper, this, this.serverManager); @@ -3751,4 +3756,9 @@ public Map getWalGroupsReplicationStatus() { public HbckChore getHbckChore() { return this.hbckChore; } + + @Override + public RSGroupInfoManager getRSRSGroupInfoManager() { + return rsGroupInfoManager; + } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java index 41cec5cfb232..ead40b989d8f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterServices.java @@ -18,10 +18,8 @@ package org.apache.hadoop.hbase.master; import com.google.protobuf.Service; - import java.io.IOException; import java.util.List; - import org.apache.hadoop.hbase.Server; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableDescriptors; @@ -51,6 +49,7 @@ import org.apache.hadoop.hbase.replication.ReplicationPeerConfig; import org.apache.hadoop.hbase.replication.ReplicationPeerDescription; import org.apache.hadoop.hbase.replication.SyncReplicationState; +import org.apache.hadoop.hbase.rsgroup.RSGroupInfoManager; import org.apache.hadoop.hbase.security.access.AccessChecker; import org.apache.hadoop.hbase.security.access.ZKPermissionWatcher; import org.apache.yetus.audience.InterfaceAudience; @@ -537,4 +536,8 @@ default SplitWALManager getSplitWALManager(){ */ List executeRegionPlansWithThrottling(List plans); + /** + * @return the {@link RSGroupInfoManager} + */ + RSGroupInfoManager getRSRSGroupInfoManager(); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java index a2a5623bfa1a..0bde67b77596 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java @@ -66,7 +66,7 @@ public void start(CoprocessorEnvironment env) throws IOException { } master = ((HasMasterServices) env).getMasterServices(); - groupInfoManager = RSGroupInfoManagerImpl.getInstance(master); + groupInfoManager = master.getRSRSGroupInfoManager(); groupAdminServer = new RSGroupAdminServer(master, groupInfoManager); Class clazz = master.getConfiguration().getClass(HConstants.HBASE_MASTER_LOADBALANCER_CLASS, null); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.java index 1b9f3efef56d..a46fa4bcb1a2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManager.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Set; import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.master.MasterServices; import org.apache.hadoop.hbase.net.Address; import org.apache.yetus.audience.InterfaceAudience; @@ -87,4 +88,8 @@ Set
moveServers(Set
servers, String srcGroup, String dstGroup) */ @Deprecated RSGroupInfo getRSGroupForTable(TableName tableName) throws IOException; + + static RSGroupInfoManager create(MasterServices master) throws IOException { + return RSGroupInfoManagerImpl.getInstance(master); + } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java index cbfdd3f74497..26772ae94233 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockNoopMasterServices.java @@ -54,6 +54,7 @@ import org.apache.hadoop.hbase.replication.ReplicationPeerConfig; import org.apache.hadoop.hbase.replication.ReplicationPeerDescription; import org.apache.hadoop.hbase.replication.SyncReplicationState; +import org.apache.hadoop.hbase.rsgroup.RSGroupInfoManager; import org.apache.hadoop.hbase.security.access.AccessChecker; import org.apache.hadoop.hbase.security.access.ZKPermissionWatcher; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; @@ -490,4 +491,9 @@ public List executeRegionPlansWithThrottling(List plans) public AsyncClusterConnection getAsyncClusterConnection() { return null; } + + @Override + public RSGroupInfoManager getRSRSGroupInfoManager() { + return null; + } } \ No newline at end of file