hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16189) [Rolling Upgrade] 2.0 hfiles cannot be opened by 1.x servers
Date Thu, 07 Jul 2016 07:15:11 GMT

    [ https://issues.apache.org/jira/browse/HBASE-16189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15365720#comment-15365720
] 

Enis Soztutar commented on HBASE-16189:
---------------------------------------

I have seen this when I deployed 1.x code on top of existing data written by 2.0. However,
in rolling upgrade, regions can move around. Adding some code in 1.x to recognize the new
classes is definitely one option. Otherwise, we can also fall back to a "default" comparator
based on table type. 

> [Rolling Upgrade] 2.0 hfiles cannot be opened by 1.x servers
> ------------------------------------------------------------
>
>                 Key: HBASE-16189
>                 URL: https://issues.apache.org/jira/browse/HBASE-16189
>             Project: HBase
>          Issue Type: Sub-task
>          Components: migration
>            Reporter: Enis Soztutar
>            Priority: Critical
>             Fix For: 2.0.0
>
>
> 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. 
> {code}
> 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)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message