Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-20690

Moving table to target rsgroup needs to handle TableStateNotFoundException

Add voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      This is related code:

      if (targetGroup != null) {
        for (TableName table: tables) {
          if (master.getAssignmentManager().isTableDisabled(table)) {
            LOG.debug("Skipping move regions because the table" + table + " is disabled.");
            continue;
          }
      

      In a stack trace Ramesh Mani showed me:

      2018-06-06 07:10:44,893 ERROR [RpcServer.default.FPBQ.Fifo.handler=29,queue=2,port=20000] master.TableStateManager: Unable to get table demo:tbl1 state
      org.apache.hadoop.hbase.master.TableStateManager$TableStateNotFoundException: demo:tbl1
      at org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:193)
      at org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:143)
      at org.apache.hadoop.hbase.master.assignment.AssignmentManager.isTableDisabled(AssignmentManager.java:346)
      at org.apache.hadoop.hbase.rsgroup.RSGroupAdminServer.moveTables(RSGroupAdminServer.java:407)
      at org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint.assignTableToGroup(RSGroupAdminEndpoint.java:447)
      at org.apache.hadoop.hbase.rsgroup.RSGroupAdminEndpoint.postCreateTable(RSGroupAdminEndpoint.java:470)
      at org.apache.hadoop.hbase.master.MasterCoprocessorHost$12.call(MasterCoprocessorHost.java:334)
      at org.apache.hadoop.hbase.master.MasterCoprocessorHost$12.call(MasterCoprocessorHost.java:331)
      at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$ObserverOperationWithoutResult.callObserver(CoprocessorHost.java:540)
      at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.execOperation(CoprocessorHost.java:614)
      at org.apache.hadoop.hbase.master.MasterCoprocessorHost.postCreateTable(MasterCoprocessorHost.java:331)
      at org.apache.hadoop.hbase.master.HMaster$3.run(HMaster.java:1768)
      at org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:131)
      at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1750)
      at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:593)
      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:131)
      at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
      at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)
      

      The logic should take potential TableStateNotFoundException into account.

        Attachments

        1. HBASE-20690.master.002.patch
          3 kB
          Guangxu Cheng
        2. HBASE-20690.master.001.patch
          3 kB
          Guangxu Cheng

        Issue Links

          Activity

            People

            • Assignee:
              xiangli Xiang Li
              Reporter:
              yuzhihong@gmail.com Ted Yu

              Dates

              • Created:
                Updated:

                Issue deployment