You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "zhangduo (JIRA)" <ji...@apache.org> on 2015/03/03 07:38:04 UTC

[jira] [Created] (HBASE-13145) TestNamespaceAuditor.testRegionMerge is flaky

zhangduo created HBASE-13145:
--------------------------------

             Summary: TestNamespaceAuditor.testRegionMerge is flaky
                 Key: HBASE-13145
                 URL: https://issues.apache.org/jira/browse/HBASE-13145
             Project: HBase
          Issue Type: Bug
          Components: test
            Reporter: zhangduo


Dig into the log
https://builds.apache.org/job/HBase-TRUNK/6197/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.namespace.TestNamespaceAuditor-output.txt
Seems a split operation which we expect to success is started before we finishing a merge and cause an infinite sleep loop.

I guess the problem is here
{code:title=TestNamespaceAuditor.java}
    // merge the two regions
    admin.mergeRegions(hris.get(0).getEncodedNameAsBytes(),
      hris.get(1).getEncodedNameAsBytes(), false);
    
    while (admin.getTableRegions(tableTwo).size() == initialRegions) {
      Thread.sleep(100);
    }
{code}
I guess that during a merge, we can get more region count than before because we first online the new region and then offline the two old regions.
So change it to admin.getTableRegions(tableTwo).size() != initialRegions - 1 may work.

And we can modify the while loop to use Waiter.waitFor which can provide more useful information when test failed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)