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

Make zk-less table states backward compatible.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • None
    • None
    • Reviewed

    Description

      Changed protobuf format not handled properly, so on startup of on top of old hbase files protobuf raises exception:
      Thanks to stack for finding that.

      90 2014-09-15 16:28:12,387 FATAL [ActiveMasterManager] master.HMaster: Failed to become active master
       91 java.io.IOException: content=20546
       92   at org.apache.hadoop.hbase.util.FSTableDescriptors.readTableDescriptor(FSTableDescriptors.java:599)
       93   at org.apache.hadoop.hbase.util.FSTableDescriptors.createTableDescriptorForTableDirectory(FSTableDescriptors.java:804)
       94   at org.apache.hadoop.hbase.util.FSTableDescriptors.createTableDescriptor(FSTableDescriptors.java:771)
       95   at org.apache.hadoop.hbase.util.FSTableDescriptors.createTableDescriptor(FSTableDescriptors.java:749)
       96   at org.apache.hadoop.hbase.master.MasterFileSystem.checkRootDir(MasterFileSystem.java:460)
       97   at org.apache.hadoop.hbase.master.MasterFileSystem.createInitialFileSystemLayout(MasterFileSystem.java:147)
       98   at org.apache.hadoop.hbase.master.MasterFileSystem.<init>(MasterFileSystem.java:127)
       99   at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:488)
      100   at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:155)
      101   at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1244)
      102   at java.lang.Thread.run(Thread.java:744)
      103 Caused by: org.apache.hadoop.hbase.exceptions.DeserializationException: com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either than the input has been truncated or that an embedded message misreported its own length.
      104   at org.apache.hadoop.hbase.TableDescriptor.parseFrom(TableDescriptor.java:120)
      105   at org.apache.hadoop.hbase.util.FSTableDescriptors.readTableDescriptor(FSTableDescriptors.java:597)
      106   ... 10 more
      107 Caused by: com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either than the input has been truncated or that an embedded message misreported its own length.
      108   at com.google.protobuf.InvalidProtocolBufferException.truncatedMessage(InvalidProtocolBufferException.java:70)
      109   at com.google.protobuf.CodedInputStream.refillBuffer(CodedInputStream.java:728)
      110   at com.google.protobuf.CodedInputStream.readRawByte(CodedInputStream.java:769)
      111   at com.google.protobuf.CodedInputStream.readRawLittleEndian64(CodedInputStream.java:488)
      112   at com.google.protobuf.CodedInputStream.readFixed64(CodedInputStream.java:203)
      113   at com.google.protobuf.UnknownFieldSet$Builder.mergeFieldFrom(UnknownFieldSet.java:481)
      114   at com.google.protobuf.GeneratedMessage.parseUnknownField(GeneratedMessage.java:193)
      115   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableName.<init>(HBaseProtos.java:215)
      116   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableName.<init>(HBaseProtos.java:173)
      117   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableName$1.parsePartialFrom(HBaseProtos.java:261)
      118   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableName$1.parsePartialFrom(HBaseProtos.java:256)
      119   at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:309)
      120   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableSchema.<init>(HBaseProtos.java:852)
      121   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableSchema.<init>(HBaseProtos.java:799)
      122   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableSchema$1.parsePartialFrom(HBaseProtos.java:923)
      123   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableSchema$1.parsePartialFrom(HBaseProtos.java:918)
      124   at com.google.protobuf.CodedInputStream.readMessage(CodedInputStream.java:309)
      125   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableDescriptor.<init>(HBaseProtos.java:3396)
      126   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableDescriptor.<init>(HBaseProtos.java:3343)
      127   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableDescriptor$1.parsePartialFrom(HBaseProtos.java:3445)
      128   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableDescriptor$1.parsePartialFrom(HBaseProtos.java:3440)
      129   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableDescriptor$Builder.mergeFrom(HBaseProtos.java:3800)
      130   at org.apache.hadoop.hbase.protobuf.generated.HBaseProtos$TableDescriptor$Builder.mergeFrom(HBaseProtos.java:3672)
      131   at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:337)
      132   at com.google.protobuf.AbstractMessage$Builder.mergeFrom(AbstractMessage.java:267)
      133   at com.google.protobuf.AbstractMessageLite$Builder.mergeFrom(AbstractMessageLite.java:170)
      

      Attachments

        1. HBASE-11987.patch
          4 kB
          Andrey Stepachev
        2. 11987v2.txt
          4 kB
          Michael Stack

        Issue Links

          Activity

            People

              octo47 Andrey Stepachev
              octo47 Andrey Stepachev
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: