hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guangxu Cheng (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-16462) Test failure TestRSGroupsBase.testGroupBalance
Date Sun, 21 Aug 2016 05:17:20 GMT

     [ https://issues.apache.org/jira/browse/HBASE-16462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Guangxu Cheng updated HBASE-16462:
----------------------------------
    Description: 
show this fail when TestRSGroupsBase
{code}
testGroupBalance(org.apache.hadoop.hbase.rsgroup.TestRSGroups)  Time elapsed: 309.517 sec
 <<< FAILURE!
java.lang.AssertionError: Waiting timed out after [300,000] msec
        at org.junit.Assert.fail(Assert.java:88)
        at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:209)
        at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:143)
        at org.apache.hadoop.hbase.HBaseTestingUtility.waitFor(HBaseTestingUtility.java:3816)
        at org.apache.hadoop.hbase.rsgroup.TestRSGroupsBase.testGroupBalance(TestRSGroupsBase.java:434)
{code}

The exception may be caused by a bug.
{code:title=TestRSGroupsBase.java|borderStyle=solid}
    rsGroupAdmin.balanceRSGroup(newGroupName);
    TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() {
      @Override
      public boolean evaluate() throws Exception {
        for (List<String> regions : getTableServerRegionMap().get(tableName).values())
{
          if (2 != regions.size()) {
            return false;
          }
        }
        return true;
      }
    }); 
{code}

The new Group has one table and three servers, and the table has six regions.

Beginning, all regions are located on a single server.

After balance, regions distributed on three server, preferably each server on two region.

However,this is not absolute. Maybe one server has one region, another server has three regions.

So, while waiting for the results of balance, we need only determine whether the region on
the server, without having to check region's number.

  was:
show this fail when TestRSGroupsBase
{code}
testGroupBalance(org.apache.hadoop.hbase.rsgroup.TestRSGroups)  Time elapsed: 309.517 sec
 <<< FAILURE!
java.lang.AssertionError: Waiting timed out after [300,000] msec
        at org.junit.Assert.fail(Assert.java:88)
        at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:209)
        at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:143)
        at org.apache.hadoop.hbase.HBaseTestingUtility.waitFor(HBaseTestingUtility.java:3816)
        at org.apache.hadoop.hbase.rsgroup.TestRSGroupsBase.testGroupBalance(TestRSGroupsBase.java:434)
{code}

The exception may be caused by a bug.
{code:title=TestRSGroupsBase.java|borderStyle=solid}
    rsGroupAdmin.balanceRSGroup(newGroupName);
    TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() {
      @Override
      public boolean evaluate() throws Exception {
        for (List<String> regions : getTableServerRegionMap().get(tableName).values())
{
          if (2 != regions.size()) {
            return false;
          }
        }
        return true;
      }
    }); 
{code}

The new Group has one table and three servers, and the table has six regions.
Beginning, all regions are located on a single server.
After balance, regions distributed on three server, preferably each server on two region.
However,this is not absolute. Maybe one server has one region, another server has three regions.


> Test failure TestRSGroupsBase.testGroupBalance
> ----------------------------------------------
>
>                 Key: HBASE-16462
>                 URL: https://issues.apache.org/jira/browse/HBASE-16462
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Guangxu Cheng
>
> show this fail when TestRSGroupsBase
> {code}
> testGroupBalance(org.apache.hadoop.hbase.rsgroup.TestRSGroups)  Time elapsed: 309.517
sec  <<< FAILURE!
> java.lang.AssertionError: Waiting timed out after [300,000] msec
>         at org.junit.Assert.fail(Assert.java:88)
>         at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:209)
>         at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:143)
>         at org.apache.hadoop.hbase.HBaseTestingUtility.waitFor(HBaseTestingUtility.java:3816)
>         at org.apache.hadoop.hbase.rsgroup.TestRSGroupsBase.testGroupBalance(TestRSGroupsBase.java:434)
> {code}
> The exception may be caused by a bug.
> {code:title=TestRSGroupsBase.java|borderStyle=solid}
>     rsGroupAdmin.balanceRSGroup(newGroupName);
>     TEST_UTIL.waitFor(WAIT_TIMEOUT, new Waiter.Predicate<Exception>() {
>       @Override
>       public boolean evaluate() throws Exception {
>         for (List<String> regions : getTableServerRegionMap().get(tableName).values())
{
>           if (2 != regions.size()) {
>             return false;
>           }
>         }
>         return true;
>       }
>     }); 
> {code}
> The new Group has one table and three servers, and the table has six regions.
> Beginning, all regions are located on a single server.
> After balance, regions distributed on three server, preferably each server on two region.
> However,this is not absolute. Maybe one server has one region, another server has three
regions.
> So, while waiting for the results of balance, we need only determine whether the region
on the server, without having to check region's number.



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

Mime
View raw message