You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by sy...@apache.org on 2016/02/13 21:10:18 UTC
[07/22] hbase git commit: HBASE-15239 Remove unused
LoadBalancer.immediateAssignment()
HBASE-15239 Remove unused LoadBalancer.immediateAssignment()
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d5331816
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d5331816
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d5331816
Branch: refs/heads/hbase-12439
Commit: d53318163be54ff8b0eff44402fdf5b16a233100
Parents: df829ea
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Wed Feb 10 09:16:42 2016 -0800
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Wed Feb 10 09:16:42 2016 -0800
----------------------------------------------------------------------
.../hadoop/hbase/master/LoadBalancer.java | 15 --------
.../hbase/master/balancer/BaseLoadBalancer.java | 39 ++------------------
.../master/balancer/SimpleLoadBalancer.java | 6 +--
.../master/balancer/TestBaseLoadBalancer.java | 32 ----------------
4 files changed, 4 insertions(+), 88 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/d5331816/hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java
----------------------------------------------------------------------
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 15dedc6..6a618e1 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
@@ -40,10 +40,6 @@ import org.apache.hadoop.hbase.TableName;
* <p>Cluster-wide load balancing will occur only when there are no regions in
* transition and according to a fixed period of a time using {@link #balanceCluster(Map)}.
*
- * <p>Inline region placement with {@link #immediateAssignment} can be used when
- * the Master needs to handle closed regions that it currently does not have
- * a destination set for. This can happen during master failover.
- *
* <p>On cluster startup, bulk assignment can be used to determine
* locations for all Regions in a cluster.
*
@@ -106,17 +102,6 @@ public interface LoadBalancer extends Configurable, Stoppable, ConfigurationObse
) throws HBaseIOException;
/**
- * Sync assign a region
- * @param regions
- * @param servers
- * @return Map regioninfos to servernames
- */
- Map<HRegionInfo, ServerName> immediateAssignment(
- List<HRegionInfo> regions,
- List<ServerName> servers
- ) throws HBaseIOException;
-
- /**
* Get a random region server from the list
* @param regionInfo Region for which this selection is being done.
* @param servers
http://git-wip-us.apache.org/repos/asf/hbase/blob/d5331816/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
index 44e1f79..bde5c61 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
@@ -81,16 +81,16 @@ public abstract class BaseLoadBalancer implements LoadBalancer {
return UNKNOWN_RACK;
}
}
-
+
/**
* The constructor that uses the basic MetricsBalancer
*/
protected BaseLoadBalancer() {
metricsBalancer = new MetricsBalancer();
}
-
+
/**
- * This Constructor accepts an instance of MetricsBalancer,
+ * This Constructor accepts an instance of MetricsBalancer,
* which will be used instead of creating a new one
*/
protected BaseLoadBalancer(MetricsBalancer metricsBalancer) {
@@ -1279,39 +1279,6 @@ public abstract class BaseLoadBalancer implements LoadBalancer {
}
/**
- * Generates an immediate assignment plan to be used by a new master for
- * regions in transition that do not have an already known destination.
- *
- * Takes a list of regions that need immediate assignment and a list of all
- * available servers. Returns a map of regions to the server they should be
- * assigned to.
- *
- * This method will return quickly and does not do any intelligent balancing.
- * The goal is to make a fast decision not the best decision possible.
- *
- * Currently this is random.
- *
- * @param regions
- * @param servers
- * @return map of regions to the server it should be assigned to
- */
- @Override
- public Map<HRegionInfo, ServerName> immediateAssignment(List<HRegionInfo> regions,
- List<ServerName> servers) {
- metricsBalancer.incrMiscInvocations();
- if (servers == null || servers.isEmpty()) {
- LOG.warn("Wanted to do random assignment but no servers to assign to");
- return null;
- }
-
- Map<HRegionInfo, ServerName> assignments = new TreeMap<HRegionInfo, ServerName>();
- for (HRegionInfo region : regions) {
- assignments.put(region, randomAssignment(region, servers));
- }
- return assignments;
- }
-
- /**
* Used to assign a single region to a random server.
*/
@Override
http://git-wip-us.apache.org/repos/asf/hbase/blob/d5331816/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java
index 4325585..fdcedf1 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.java
@@ -46,14 +46,10 @@ import com.google.common.collect.MinMaxPriorityQueue;
* <p>Cluster-wide load balancing will occur only when there are no regions in
* transition and according to a fixed period of a time using {@link #balanceCluster(Map)}.
*
- * <p>Inline region placement with {@link #immediateAssignment} can be used when
- * the Master needs to handle closed regions that it currently does not have
- * a destination set for. This can happen during master failover.
- *
* <p>On cluster startup, bulk assignment can be used to determine
* locations for all Regions in a cluster.
*
- * <p>This classes produces plans for the
+ * <p>This classes produces plans for the
* {@link org.apache.hadoop.hbase.master.AssignmentManager} to execute.
*/
@InterfaceAudience.LimitedPrivate(HBaseInterfaceAudience.CONFIG)
http://git-wip-us.apache.org/repos/asf/hbase/blob/d5331816/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java
index 205fbea..45d9fe5 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestBaseLoadBalancer.java
@@ -118,38 +118,6 @@ public class TestBaseLoadBalancer extends BalancerTestBase {
}
/**
- * Tests immediate assignment.
- *
- * Invariant is that all regions have an assignment.
- *
- * @throws Exception
- */
- @Test (timeout=30000)
- public void testImmediateAssignment() throws Exception {
- List<ServerName> tmp = getListOfServerNames(randomServers(1, 0));
- tmp.add(master);
- ServerName sn = loadBalancer.randomAssignment(HRegionInfo.FIRST_META_REGIONINFO, tmp);
- assertEquals(master, sn);
- HRegionInfo hri = randomRegions(1, -1).get(0);
- sn = loadBalancer.randomAssignment(hri, tmp);
- assertNotEquals(master, sn);
- tmp = new ArrayList<ServerName>();
- tmp.add(master);
- sn = loadBalancer.randomAssignment(hri, tmp);
- assertNull("Should not assign user regions on master", sn);
- for (int[] mock : regionsAndServersMocks) {
- LOG.debug("testImmediateAssignment with " + mock[0] + " regions and " + mock[1] + " servers");
- List<HRegionInfo> regions = randomRegions(mock[0]);
- List<ServerAndLoad> servers = randomServers(mock[1], 0);
- List<ServerName> list = getListOfServerNames(servers);
- Map<HRegionInfo, ServerName> assignments = loadBalancer.immediateAssignment(regions, list);
- assertImmediateAssignment(regions, list, assignments);
- returnRegions(regions);
- returnServers(list);
- }
- }
-
- /**
* All regions have an assignment.
* @param regions
* @param servers