[ https://issues.apache.org/jira/browse/HBASE-5959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274041#comment-13274041 ]
Zhihong Yu commented on HBASE-5959: ----------------------------------- For computeTableSkewLoadCost(), normally we use region count (per table) for region servers to judge skew. I feel the skew in table count is not a good indicator. {code} + * @return Cost of imbalance in table. {code} 'table' -> 'tables' {code} + for (Entry<ServerName, List<HRegionInfo>> entry : clusterState.entrySet()) { + Set<String> tablesOnRegionServer = new HashSet<String>(); {code} We can clear the HashSet after the following line in the loop (instead of creating HashSet every iteration): {code} + tablesPerServer.add(new Double(tablesOnRegionServer.size())); {code} Math.abs() is not needed in the following: {code} + skewCost += Math.abs(numTables - count.doubleValue()); {code} For computeDataLocalityCost(): {code} + // If we can't find where the data is getTopBlock returns null. + // so count that as being the best possible. + if (dataOnServers == null) { {code} I think worst should be assumed if block locations cannot be retrieved. I asked the coefficients of various costs to be configurable. This is because users tend to give high priority to locality cost component. BalancerTestBase.java is missing license. {code} + * Class used to be the base of unit tests on load balancers. It gives helper {code} 'Class used to be the base' -> 'Base class'. assertClusterAsBalanced() should be package-private. For reconcile(), {code} + * 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. {code} Please expand HSI to full class name. The two parameters are both Lists. Where is the map ? I think it is Map<ServerName, ServerAndLoad> map. Please describe what this method does. > Add other load balancers > ------------------------ > > Key: HBASE-5959 > URL: https://issues.apache.org/jira/browse/HBASE-5959 > Project: HBase > Issue Type: New Feature > Components: master > Affects Versions: 0.96.0 > Reporter: Elliott Clark > Assignee: Elliott Clark > Attachments: HBASE-5959-0.patch, HBASE-5959-1.patch, > HBASE-5959-2.patch, HBASE-5959-3.patch > > > Now that balancers are pluggable we should give some options.b -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira