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

Allan Yang updated HBASE-21003:
-------------------------------
    Description: 
TestSplitOrMergeStatus.testSplitSwitch() is flaky because :
1. Set the split switch to false
2. Split the region, expect nothing happen
3. Set the split switch to true, but since the last split request may not start 
yet, so setting the switch to true may lead to the last split success
4. Split the same region again, expect split success. But since the last split 
operation may already successful, this one will fail

Maybe we should wait for a while between 2 and 3.

{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}

  was:
TestSplitOrMergeStatus.testSplitSwitch() is flaky because :
1. Set the split switch to false
2. Split the region, except nothing happen
3. Set the split switch to true, but since the last split request may not start 
yet, so setting the switch to true may lead to the last split success
4. Split the same region again, except split success. But since the last split 
operation may already successful, this one will fail

Maybe we should wait for a while between 2 and 3.

{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}


> Fix the flaky TestSplitOrMergeStatus
> ------------------------------------
>
>                 Key: HBASE-21003
>                 URL: https://issues.apache.org/jira/browse/HBASE-21003
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.1.0, 2.0.1
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Major
>
> TestSplitOrMergeStatus.testSplitSwitch() is flaky because :
> 1. Set the split switch to false
> 2. Split the region, expect nothing happen
> 3. Set the split switch to true, but since the last split request may not 
> start yet, so setting the switch to true may lead to the last split success
> 4. Split the same region again, expect split success. But since the last 
> split operation may already successful, this one will fail
> Maybe we should wait for a while between 2 and 3.
> {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)

Reply via email to