addresses = new HashSet<>();
+ if (servernames == null) {
+ return addresses;
+ }
+ for (ServerName servername : servernames) {
+ addresses.add(servername.getAddress());
+ }
+ return addresses;
+ }
/**
* Unassigns the specified region.
*
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java
index c8121b98c22d..1f488084227e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java
@@ -20,6 +20,7 @@
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.conf.ConfigurationObserver;
@@ -31,6 +32,7 @@
import org.apache.hadoop.hbase.ServerName;
import org.apache.hadoop.hbase.Stoppable;
import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.net.Address;
/**
* Makes decisions about the placement and movement of Regions across
@@ -127,6 +129,14 @@ ServerName randomAssignment(
HRegionInfo regionInfo, List servers
) throws HBaseIOException;
+ /**
+ * Get all the servers of this region's rs_group,and now only used in RSGroupBasedLoadBalancer
+ * @param region Get the servers of rsgroup in region's table
+ * @return Set of Address
+ */
+ Set getServersInDefaultOrGroup(
+ HRegionInfo region) throws HBaseIOException;
+
/**
* Initialize the load balancer. Must be called after setters.
* @throws HBaseIOException
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java
index 32d9c6c0c4aa..0e457214137d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.java
@@ -23,6 +23,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -40,6 +41,7 @@
import org.apache.hadoop.hbase.master.ServerManager;
import org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta;
import org.apache.hadoop.hbase.master.balancer.FavoredNodesPlan.Position;
+import org.apache.hadoop.hbase.net.Address;
import org.apache.hadoop.hbase.util.Pair;
/**
@@ -225,6 +227,11 @@ public ServerName randomAssignment(HRegionInfo regionInfo, List serv
}
}
+ @Override
+ public Set getServersInDefaultOrGroup(HRegionInfo region) throws HBaseIOException {
+ return null;
+ }
+
private Pair