Description
(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()
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;
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.
Attachments
Attachments
Issue Links
- links to