stack created HBASE-17786:
-----------------------------

             Summary: Create LoadBalancer perf-tests (test balancer algorithm 
decoupled from workload)
                 Key: HBASE-17786
                 URL: https://issues.apache.org/jira/browse/HBASE-17786
             Project: HBase
          Issue Type: Sub-task
          Components: Balancer, proc-v2
            Reporter: stack
             Fix For: 2.0.0


(Below is a quote from [~mbertozzi] taken from an internal issue that I'm 
moving out here)

Add perf tools and keep monitored balancer performance (a BalancerPE-type 
thing).

Most of the balancers should be instantiable without requiring a mini-cluster, 
and it easy to create tons of RegionInfo and ServerNames with a for loop.

The balancer is just creating a map RegionInfo:ServerName.

There are two methods to test roundRobinAssignment() and retainAssignment()
{code}
Map<ServerName, List<HRegionInfo>> roundRobinAssignment(
    List<HRegionInfo> regions,
    List<ServerName> servers
  ) throws HBaseIOException; 

Map<ServerName, List<HRegionInfo>> retainAssignment(
    Map<HRegionInfo, ServerName> regions,
    List<ServerName> servers
  ) throws HBaseIOException;

{code}

There are a bunch of obvious optimization that everyone can see just by looking 
at the code. (like replacing array with set when we do contains/remove 
operations). It will be nice to have a baseline and start improving from there.




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to