Xiaolin Ha created HBASE-22479:
----------------------------------
Summary: Release sycLatch too early in CreateTable() to get table
state failed in postCreateTable
Key: HBASE-22479
URL: https://issues.apache.org/jira/browse/HBASE-22479
Project: HBase
Issue Type: Bug
Components: master, rsgroup
Affects Versions: 2.2.0
Reporter: Xiaolin Ha
Assignee: Xiaolin Ha
SycLatch will be released as soon as prepared create table.
But if in postCreateTable we need to get some info of the created table, it
will be failed.
This can be reproduced by calling createTable() on clusters enabling rsgroup.
ERROR log is as follows,
2019-05-10,11:28:07,394 ERROR
[RpcServer.default.FPBQ.Fifo.handler=254,queue=14,port=57900]
org.apache.hadoop.hbase.master.TableStateManager: Unable to get table
work:error1 state
org.apache.hadoop.hbase.master.TableStateManager$TableStateNotFoundException:
work:error1
at
org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:215)
at
org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:147)
at
org.apache.hadoop.hbase.master.assignment.AssignmentManager.isTableDisabled(AssignmentManager.java:365)
at
org.apache.hadoop.hbase.rsgroup.RSGroupAdminServer.moveTables(RSGroupAdminServer.java:411)
at
org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint.assignTableToGroup(RSGroupAdminEndpoint.java:444)
at
org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint.postCreateTable(RSGroupAdminEndpoint.java:467)
at
org.apache.hadoop.hbase.master.MasterCoprocessorHost$13.call(MasterCoprocessorHost.java:351)
at
org.apache.hadoop.hbase.master.MasterCoprocessorHost$13.call(MasterCoprocessorHost.java:348)
at
org.apache.hadoop.hbase.coprocessor.CoprocessorHost$ObserverOperationWithoutResult.callObserver(CoprocessorHost.java:551)
at
org.apache.hadoop.hbase.coprocessor.CoprocessorHost.execOperation(CoprocessorHost.java:625)
at
org.apache.hadoop.hbase.master.MasterCoprocessorHost.postCreateTable(MasterCoprocessorHost.java:348)
at org.apache.hadoop.hbase.master.HMaster$4.run(HMaster.java:2082)
at
org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:134)
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2065)
at
org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:681)
at
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:132)
at
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)
at
org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
I think sycLatch of createTable should be released after postCreate in CTP. Any
suggestions or concerns?
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)