public class BalancerTestBase
extends java.lang.Object
ServerName
to lists of HRegionInfo
and to check list of region plans.Modifier and Type | Class and Description |
---|---|
static class |
BalancerTestBase.MockMapping |
Modifier and Type | Field and Description |
---|---|
protected static Configuration |
conf |
protected static StochasticLoadBalancer |
loadBalancer |
protected static java.util.Random |
rand |
Constructor and Description |
---|
BalancerTestBase() |
Modifier and Type | Method and Description |
---|---|
void |
assertClusterAsBalanced(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> servers)
Invariant is that all servers have between floor(avg) and ceiling(avg)
number of regions.
|
void |
assertRegionReplicaPlacement(java.util.Map<ServerName,java.util.List<HRegionInfo>> serverMap,
RackManager rackManager)
Checks whether region replicas are not hosted on the same host.
|
static void |
beforeAllTests() |
protected java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> |
convertToList(java.util.Map<ServerName,java.util.List<HRegionInfo>> servers) |
protected java.util.Map<ServerName,java.util.List<HRegionInfo>> |
createServerMap(int numNodes,
int numRegions,
int numRegionsPerServer,
int replication,
int numTables) |
protected BaseLoadBalancer.Cluster |
mockCluster(int[] mockCluster) |
protected java.util.TreeMap<ServerName,java.util.List<HRegionInfo>> |
mockClusterServers(int[] mockCluster) |
protected java.util.TreeMap<ServerName,java.util.List<HRegionInfo>> |
mockClusterServers(int[] mockCluster,
int numTables) |
protected java.lang.String |
printMock(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> balancedCluster) |
protected java.lang.String |
printStats(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> servers) |
protected java.util.List<HRegionInfo> |
randomRegions(int numRegions) |
protected java.util.List<HRegionInfo> |
randomRegions(int numRegions,
int numTables) |
protected org.apache.hadoop.hbase.master.balancer.ServerAndLoad |
randomServer(int numRegionsPerServer) |
protected java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> |
randomServers(int numServers,
int numRegionsPerServer) |
protected java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> |
reconcile(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> list,
java.util.List<RegionPlan> plans,
java.util.Map<ServerName,java.util.List<HRegionInfo>> servers)
This assumes the RegionPlan HSI instances are the same ones in the map, so
actually no need to even pass in the map, but I think it's clearer.
|
protected void |
returnRegions(java.util.List<HRegionInfo> regions) |
protected void |
returnServer(ServerName server) |
protected void |
returnServers(java.util.List<ServerName> servers) |
protected void |
testWithCluster(int numNodes,
int numRegions,
int numRegionsPerServer,
int replication,
int numTables,
boolean assertFullyBalanced,
boolean assertFullyBalancedForReplicas) |
protected void |
testWithCluster(java.util.Map<ServerName,java.util.List<HRegionInfo>> serverMap,
RackManager rackManager,
boolean assertFullyBalanced,
boolean assertFullyBalancedForReplicas) |
protected void |
updateLoad(java.util.Map<ServerName,org.apache.hadoop.hbase.master.balancer.ServerAndLoad> map,
ServerName sn,
int diff) |
protected static java.util.Random rand
protected static StochasticLoadBalancer loadBalancer
protected static Configuration conf
public static void beforeAllTests() throws java.lang.Exception
java.lang.Exception
protected void testWithCluster(int numNodes, int numRegions, int numRegionsPerServer, int replication, int numTables, boolean assertFullyBalanced, boolean assertFullyBalancedForReplicas)
protected java.util.Map<ServerName,java.util.List<HRegionInfo>> createServerMap(int numNodes, int numRegions, int numRegionsPerServer, int replication, int numTables)
protected void testWithCluster(java.util.Map<ServerName,java.util.List<HRegionInfo>> serverMap, RackManager rackManager, boolean assertFullyBalanced, boolean assertFullyBalancedForReplicas)
public void assertClusterAsBalanced(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> servers)
public void assertRegionReplicaPlacement(java.util.Map<ServerName,java.util.List<HRegionInfo>> serverMap, RackManager rackManager)
protected java.lang.String printStats(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> servers)
protected java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> convertToList(java.util.Map<ServerName,java.util.List<HRegionInfo>> servers)
protected java.lang.String printMock(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> balancedCluster)
protected java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> reconcile(java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> list, java.util.List<RegionPlan> plans, java.util.Map<ServerName,java.util.List<HRegionInfo>> servers)
list
- plans
- protected void updateLoad(java.util.Map<ServerName,org.apache.hadoop.hbase.master.balancer.ServerAndLoad> map, ServerName sn, int diff)
protected java.util.TreeMap<ServerName,java.util.List<HRegionInfo>> mockClusterServers(int[] mockCluster)
protected BaseLoadBalancer.Cluster mockCluster(int[] mockCluster)
protected java.util.TreeMap<ServerName,java.util.List<HRegionInfo>> mockClusterServers(int[] mockCluster, int numTables)
protected java.util.List<HRegionInfo> randomRegions(int numRegions)
protected java.util.List<HRegionInfo> randomRegions(int numRegions, int numTables)
protected void returnRegions(java.util.List<HRegionInfo> regions)
protected org.apache.hadoop.hbase.master.balancer.ServerAndLoad randomServer(int numRegionsPerServer)
protected java.util.List<org.apache.hadoop.hbase.master.balancer.ServerAndLoad> randomServers(int numServers, int numRegionsPerServer)
protected void returnServer(ServerName server)
protected void returnServers(java.util.List<ServerName> servers)