Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13428 [DOC] Migration to hbase-2.0.0
  3. HBASE-16189

[Rolling Upgrade] 2.0 hfiles cannot be opened by 1.x servers

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 1.3.0, 1.1.6, 1.2.3
    • migration
    • None
    • Reviewed

    Description

      HBASE-10800 added MetaCellComparator, which gets written to the HFile. 1.x code does not have the new class, hence fails to open the regions. I did not check whether this is only for meta or for regular tables as well.

      Caused by: org.apache.hadoop.hbase.io.hfile.CorruptHFileException: Problem reading HFile Trailer from file hdfs://cn017.l42scl.hortonworks.com:8020/apps/hbase/data/data/hbase/meta/1588230740/info/aa96e4ef463b4a82956330b236440437
              at org.apache.hadoop.hbase.io.hfile.HFile.pickReaderVersion(HFile.java:483)
              at org.apache.hadoop.hbase.io.hfile.HFile.createReader(HFile.java:511)
              at org.apache.hadoop.hbase.regionserver.StoreFile$Reader.<init>(StoreFile.java:1123)
              at org.apache.hadoop.hbase.regionserver.StoreFileInfo.open(StoreFileInfo.java:267)
              at org.apache.hadoop.hbase.regionserver.StoreFile.open(StoreFile.java:409)
              at org.apache.hadoop.hbase.regionserver.StoreFile.createReader(StoreFile.java:512)
              at org.apache.hadoop.hbase.regionserver.HStore.createStoreFileAndReader(HStore.java:687)
              at org.apache.hadoop.hbase.regionserver.HStore.access$000(HStore.java:130)
              at org.apache.hadoop.hbase.regionserver.HStore$1.call(HStore.java:554)
              at org.apache.hadoop.hbase.regionserver.HStore$1.call(HStore.java:551)
              ... 6 more
      Caused by: java.io.IOException: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.CellComparator$MetaCellComparator
              at org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.getComparatorClass(FixedFileTrailer.java:581)
              at org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.deserializeFromPB(FixedFileTrailer.java:300)
              at org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.deserialize(FixedFileTrailer.java:242)
              at org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.readFromStream(FixedFileTrailer.java:407)
              at org.apache.hadoop.hbase.io.hfile.HFile.pickReaderVersion(HFile.java:468)
              ... 15 more
      Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.CellComparator$MetaCellComparator
              at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
              at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
              at java.lang.Class.forName0(Native Method)
              at java.lang.Class.forName(Class.java:264)
              at org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.getComparatorClass(FixedFileTrailer.java:579)
      

      Attachments

        1. HBASE-16189.patch
          3 kB
          ramkrishna.s.vasudevan
        2. HBASE-16189.branch-1.patch
          3 kB
          ramkrishna.s.vasudevan
        3. HBASE-16189_branch-1.patch
          3 kB
          ramkrishna.s.vasudevan

        Issue Links

          Activity

            People

              ram_krish ramkrishna.s.vasudevan
              enis Enis Soztutar
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: