[ https://issues.apache.org/jira/browse/HBASE-15327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15216305#comment-15216305 ]
stack commented on HBASE-15327: ------------------------------- +1 on patch and on rerunning hadoopqa > Canary will always invoke admin.balancer() in each sniffing period when > writeSniffing is enabled > ------------------------------------------------------------------------------------------------ > > Key: HBASE-15327 > URL: https://issues.apache.org/jira/browse/HBASE-15327 > Project: HBase > Issue Type: Bug > Components: canary > Affects Versions: 2.0.0 > Reporter: Jianwei Cui > Priority: Minor > Attachments: HBASE-15327-trunk.patch, HBASE-15327-trunk.patch > > > When Canary#writeSniffing is enabled, Canary#checkWriteTableDistribution will > make sure the regions of write table distributed on all region servers as: > {code} > int numberOfServers = admin.getClusterStatus().getServers().size(); > ...... > int numberOfCoveredServers = serverSet.size(); > if (numberOfCoveredServers < numberOfServers) { > admin.balancer(); > } > {code} > The master will also work as a regionserver, so that ClusterStatus#getServers > will contain the master. On the other hand, write table of Canary will not be > assigned to master, making numberOfCoveredServers always smaller than > numberOfServers and admin.balancer always be invoked in each sniffing period. > This may cause frequent region moves. A simple fix is excluding master from > numberOfServers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)