No. There's always a comparator name stored in the file trailer. Read the
code in FixedFileTrailer.java. But when you work with PB, best practice is
to make all fields optional, because who knows where you will be in the
future,  and then therefore you need to treat all fields as potentially
missing.


On Thu, Jan 10, 2013 at 10:41 AM, Ted Yu <[email protected]> wrote:

> Was it possible that ComparatorClassName was missing ?
> Here is related code in deserializeFromPB():
>
>     if (builder.hasComparatorClassName()) {
>       comparatorClassName = builder.getComparatorClassName();
>
> Cheers
>
> On Thu, Jan 10, 2013 at 10:28 AM, Andrew Purtell <[email protected]
> >wrote:
>
> > On Wed, Jan 9, 2013 at 10:21 PM, Ted <[email protected]> wrote:
> >
> > > I guess the test failures in trunk build may have something to do with
> > jdk
> > > 1.7
> >
> >
> > I believe Ted is referring to this:
> >
> > 2013-01-10 03:02:28,043 ERROR
> > [RS_OPEN_REGION-juno.apache.org,42323,1357786940398-0]
> > handler.OpenRegionHandler(441): Failed open of
> > region=-ROOT-,,0.70236052, starting to roll back the global memstore
> > size.
> > java.io.IOException: java.io.IOException: java.io.IOException:
> > java.lang.InstantiationException: org.apache.hadoop.io.RawComparator
> >         at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.initializeRegionInternals(HRegion.java:639)
> >         at
> > org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:559)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4060)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4010)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:426)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:129)
> >         at
> > org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:202)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> >         at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> >         at java.lang.Thread.run(Thread.java:722)
> > Caused by: java.io.IOException: java.io.IOException:
> > java.lang.InstantiationException: org.apache.hadoop.io.RawComparator
> >         at
> >
> org.apache.hadoop.hbase.regionserver.HStore.loadStoreFiles(HStore.java:450)
> >         at
> > org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:215)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.HRegion.instantiateHStore(HRegion.java:3059)
> >         at
> > org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:612)
> >         at
> > org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:610)
> >         at
> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> >         at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> >         at
> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
> >         at java.util.concurrent.FutureTask.run(FutureTask.java:166)
> >         ... 3 more
> > Caused by: java.io.IOException: java.lang.InstantiationException:
> > org.apache.hadoop.io.RawComparator
> >         at
> >
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.createComparator(FixedFileTrailer.java:607)
> >         at
> >
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.createComparator(FixedFileTrailer.java:615)
> >         at
> >
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.<init>(HFileReaderV2.java:115)
> >         at
> > org.apache.hadoop.hbase.io.hfile.HFile.pickReaderVersion(HFile.java:564)
> >         at
> >
> org.apache.hadoop.hbase.io.hfile.HFile.createReaderWithEncoding(HFile.java:599)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.StoreFile$Reader.<init>(StoreFile.java:1294)
> >         at
> > org.apache.hadoop.hbase.regionserver.StoreFile.open(StoreFile.java:525)
> >         at
> >
> org.apache.hadoop.hbase.regionserver.StoreFile.createReader(StoreFile.java:628)
> >         at
> > org.apache.hadoop.hbase.regionserver.HStore$1.call(HStore.java:426)
> >         at
> > org.apache.hadoop.hbase.regionserver.HStore$1.call(HStore.java:422)
> >         ... 8 more
> > Caused by: java.lang.InstantiationException:
> > org.apache.hadoop.io.RawComparator
> >         at java.lang.Class.newInstance0(Class.java:357)
> >         at java.lang.Class.newInstance(Class.java:325)
> >         at
> >
> org.apache.hadoop.hbase.io.hfile.FixedFileTrailer.createComparator(FixedFileTrailer.java:605)
> >
> >
> >
> > --
> > Best regards,
> >
> >    - Andy
> >
> > Problems worthy of attack prove their worth by hitting back. - Piet Hein
> > (via Tom White)
> >
>



-- 
Best regards,

   - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein
(via Tom White)

Reply via email to