Description
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?