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)