[ https://issues.apache.org/jira/browse/HBASE-15327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jianwei Cui updated HBASE-15327: -------------------------------- Attachment: HBASE-15327-branch-1-v1.patch HBASE-15327-v1.patch Make patches for trunk and branch-1. Thanks for the review [~stack] and [~yuzhih...@gmail.com] :) > 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-branch-1-v1.patch, HBASE-15327-trunk.patch, > HBASE-15327-trunk.patch, HBASE-15327-v1.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)