Looking at http://hbase.apache.org/book.html#executing.the.0.96.upgrade , there is step of running "bin/hbase upgrade -check"
How about adding a sample hfile which contains CellComparator$MetaCellComparator so that the upgrade check can read and verify ? On Tue, Dec 6, 2016 at 8:50 AM, Ted Yu <yuzhih...@gmail.com> wrote: > The build I used yesterday didn't include HBASE-16189 > <https://issues.apache.org/jira/browse/HBASE-16189> > > Once it is included, the cluster can be downgraded fine. > > I wonder how users would know that their existing deployment has > HBASE-16189 <https://issues.apache.org/jira/browse/HBASE-16189> before > upgrading to 2.0 release. > > On Tue, Dec 6, 2016 at 2:29 AM, ramkrishna vasudevan < > ramkrishna.s.vasude...@gmail.com> wrote: > >> @Ted >> Does your version have this fix >> https://issues.apache.org/jira/browse/HBASE-16189 >> >> Regards >> Ram >> >> On Tue, Dec 6, 2016 at 3:56 PM, Ted Yu <yuzhih...@gmail.com> wrote: >> >> > Is the assumption that hbase:meta would not split ? >> > >> > In other thread, Francis Liu was proposing supporting splittable >> > hbase:meta in 2.0 release. >> > >> > Cheers >> > >> > > On Dec 6, 2016, at 2:20 AM, 张铎 <palomino...@gmail.com> wrote: >> > > >> > > Could this be solved by hosting meta only on master? >> > > >> > > BTW, MetaCellComparator is introduced in HBASE-10800. >> > > >> > > Thanks. >> > > >> > > 2016-12-06 17:44 GMT+08:00 Ted Yu <yuzhih...@gmail.com>: >> > > >> > >> Hi, >> > >> When I restarted a cluster with 1.1 , I found that hbase:meta region >> > >> (written to by the previously deployed 2.0) couldn't be opened: >> > >> >> > >> Caused by: java.io.IOException: >> > >> org.apache.hadoop.hbase.io.hfile.CorruptHFileException: Problem >> reading >> > >> HFile Trailer from file hdfs://yz1.xx.com:8020/apps/ >> hbase/data/data/ >> > >> hbase/meta/1588230740/info/599fc8a37311414e876803312009a986 >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HStore.openStoreFiles( >> HStore.java: >> > >> 579) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HStore.loadStoreFiles( >> HStore.java: >> > >> 534) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:275) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HRegion.instantiateHSto >> re(HRegion. >> > >> java:5150) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion. >> java:912) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion. >> java:909) >> > >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >> > >> at >> > >> java.util.concurrent.Executors$RunnableAdapter.call( >> Executors.java:511) >> > >> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >> > >> ... 3 more >> > >> Caused by: org.apache.hadoop.hbase.io.hfile.CorruptHFileException: >> > Problem >> > >> reading HFile Trailer from file hdfs:// >> > >> yz1.xx.com:8020/apps/hbase/data/data/hbase/ meta/1588230740/ >> > >> info/599fc8a37311414e876803312009a986 >> > >> 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:1128) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.StoreFileInfo. >> > >> open(StoreFileInfo.java:267) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.StoreFile.open(StoreFil >> e.java:409) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.StoreFile. >> > >> createReader(StoreFile.java:517) >> > >> at >> > >> org.apache.hadoop.hbase.regionserver.HStore.createStoreFileA >> ndReader( >> > >> 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.getCompara >> torClass( >> > >> 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.getCompara >> torClass( >> > >> FixedFileTrailer.java:579) >> > >> >> > >> When user does rolling upgrade from 1.1 to 2.0, the above may cause >> > problem >> > >> if hbase:meta region is updated by server running 2.0 but later >> > assigned to >> > >> a region server which still runs 1.1 (due to crash of the server >> running >> > >> 2.0, e.g.) >> > >> >> > >> I want to get community feedback on the severity of this issue. >> > >> >> > >> Thanks >> > >> >> > >> > >