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

2.1.1 fails to start over 1.x data; namespace not assigned

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0.0, 2.2.0, 2.0.3, 2.1.2
    • Component/s: amv2
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I tested hbase-2.1.1 starting up over data written by branch-1.4. It failed because the TableStateManager, as part of its startup, failed its migration of table state from zookeeper to hbase:meta table. This is exception:

      2018-11-01 10:49:33,678 ERROR [master/kalashnikov:16000:becomeActiveMaster] master.TableStateManager: Unable to get table hbase:namespace state
      org.apache.hadoop.hbase.master.TableStateManager$TableStateNotFoundException: hbase:namespace
        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.isTableEnabled(AssignmentManager.java:327)
        at org.apache.hadoop.hbase.master.assignment.AssignmentManager.lambda$processOfflineRegions$3(AssignmentManager.java:1236)
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
        at org.apache.hadoop.hbase.master.assignment.AssignmentManager.processOfflineRegions(AssignmentManager.java:1237)
        at org.apache.hadoop.hbase.master.assignment.AssignmentManager.joinCluster(AssignmentManager.java:1218)
        at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:1001)
        at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2257)
        at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:583)
        at java.lang.Thread.run(Thread.java:748)
      

      This happens inside in processOfflineRegions so result of above exception is that procedures are not scheduled; i.e. namespace table assign for one is not assigned.

        Attachments

        1. HBASE-21425.branch-2.1.002.patch
          5 kB
          Michael Stack
        2. HBASE-21425.branch-2.1.001.patch
          5 kB
          Michael Stack

          Issue Links

            Activity

              People

              • Assignee:
                stack Michael Stack
                Reporter:
                stack Michael Stack
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: