You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Allan Yang (JIRA)" <ji...@apache.org> on 2018/08/03 14:15:00 UTC

[jira] [Created] (HBASE-21003) Fix the flaky TestSplitOrMergeStatus

Allan Yang created HBASE-21003:
----------------------------------

             Summary: Fix the flaky TestSplitOrMergeStatus
                 Key: HBASE-21003
                 URL: https://issues.apache.org/jira/browse/HBASE-21003
             Project: HBase
          Issue Type: Bug
    Affects Versions: 2.0.1, 2.1.0
            Reporter: Allan Yang
            Assignee: Allan Yang


TestSplitOrMergeStatus.testSplitSwitch() is flaky because :
{code}
    //Set the split switch to false
    boolean[] results = admin.setSplitOrMergeEnabled(false, false, 
    MasterSwitchType.SPLIT);
    ......
    //Split the region
    admin.split(t.getName());
    int count = admin.getTableRegions(tableName).size();
    assertTrue(originalCount == count);
    //Set the split switch to true, actually, the last split procedure may not started yet on master
    //So, after setting the switch to true, the last split operation may success, which is not 
    //excepted   
    results = admin.setSplitOrMergeEnabled(true, false, MasterSwitchType.SPLIT);
    assertEquals(1, results.length);
    assertFalse(results[0]);
    //Since last split success, split the region again will end up with a 
    //DoNotRetryRegionException here
    admin.split(t.getName());
{code}

{code}
org.apache.hadoop.hbase.client.DoNotRetryRegionException: 3f16a57c583e6ecf044c5b7de2e97121 is not OPEN; regionState={3f16a57c583e6ecf044c5b7de2e97121 state=SPLITTING, ts=1533239385789, server=asf911.gq1.ygridcore.net,60061,1533239369899}
 at org.apache.hadoop.hbase.master.procedure.AbstractStateMachineTableProcedure.checkOnline(AbstractStateMachineTableProcedure.java:191)
 at org.apache.hadoop.hbase.master.assignment.SplitTableRegionProcedure.<init>(SplitTableRegionProcedure.java:112)
 at org.apache.hadoop.hbase.master.assignment.AssignmentManager.createSplitProcedure(AssignmentManager.java:756)
 at org.apache.hadoop.hbase.master.HMaster$2.run(HMaster.java:1722)
 at org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
 at org.apache.hadoop.hbase.master.HMaster.splitRegion(HMaster.java:1714)
 at org.apache.hadoop.hbase.master.MasterRpcServices.splitRegion(MasterRpcServices.java:797)
 at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:409)
 at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
 at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
 at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)