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

Moving table to target rsgroup needs to handle TableStateNotFoundException

    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
              • Votes:
                0 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated: