[ 
https://issues.apache.org/jira/browse/HBASE-18415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16096649#comment-16096649
 ] 

Chia-Ping Tsai commented on HBASE-18415:
----------------------------------------

If the first call(CreateTableProcedure) succeed, the second call will receive 
the response from master with TableExistsException. That is weird for user 
because the table doesn't exist indeed before user submits the request. The 
"retry" should not break the behavior.
This issue exists in master, branch-2 and branch-1. We can reproduce this bug 
by reducing the timeout for RPC.
Ping [~stack] What to you think about this?



> Fix client.TestClientScannerRPCTimeout
> --------------------------------------
>
>                 Key: HBASE-18415
>                 URL: https://issues.apache.org/jira/browse/HBASE-18415
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Minor
>
> {quote}
> Running org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 10.046 sec 
> <<< FAILURE! - in org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout
> testScannerNextRPCTimesout(org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout)
>   Time elapsed: 4.186 sec  <<< ERROR!
> org.apache.hadoop.hbase.TableExistsException: testScannerNextRPCTimesout
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method)
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
>         at 
> org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
>         at 
> org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
>         at 
> org.apache.hadoop.hbase.util.ForeignExceptionUtil.toIOException(ForeignExceptionUtil.java:45)
>         at 
> org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.convertResult(HBaseAdmin.java:4773)
>         at 
> org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.waitProcedureResult(HBaseAdmin.java:4731)
>         at 
> org.apache.hadoop.hbase.client.HBaseAdmin$ProcedureFuture.get(HBaseAdmin.java:4664)
>         at 
> org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:678)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1500)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1547)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1438)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1414)
>         at 
> org.apache.hadoop.hbase.HBaseTestingUtility.createTable(HBaseTestingUtility.java:1370)
>         at 
> org.apache.hadoop.hbase.client.TestClientScannerRPCTimeout.testScannerNextRPCTimesout(TestClientScannerRPCTimeout.java:92)
> Caused by: org.apache.hadoop.ipc.RemoteException: testScannerNextRPCTimesout
>         at 
> org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.prepareCreate(CreateTableProcedure.java:286)
>         at 
> org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:107)
>         at 
> org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.executeFromState(CreateTableProcedure.java:59)
>         at 
> org.apache.hadoop.hbase.procedure2.StateMachineProcedure.execute(StateMachineProcedure.java:139)
>         at 
> org.apache.hadoop.hbase.procedure2.Procedure.doExecute(Procedure.java:506)
>         at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execProcedure(ProcedureExecutor.java:1152)
>         at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:940)
>         at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.execLoop(ProcedureExecutor.java:893)
>         at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$400(ProcedureExecutor.java:76)
>         at 
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor$2.run(ProcedureExecutor.java:478)
> {quote}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to