Was this a requirement for 0.20.6 and 0.89 ? On Thu, Feb 17, 2011 at 4:25 PM, Todd Lipcon <[email protected]> wrote:
> On Thu, Feb 17, 2011 at 4:19 PM, Ted Yu <[email protected]> wrote: > >> My earlier point was that we shouldn't require hbase-default.xml to be >> present in the classpath because users may repackage hbase jar. >> We should fault out if there *is* one hbase-default.xml in the classpath >> *and* it doesn't contain the correct version value. > > > Yes, we should require hbase-default.xml. It is a necessary part of hbase. > If you don't have it, it should fail. > > >> >> >> On Thu, Feb 17, 2011 at 4:13 PM, Todd Lipcon <[email protected]> wrote: >> >>> On Thu, Feb 17, 2011 at 4:03 PM, Ted Yu <[email protected]> wrote: >>> >>>> An alternative is to check the value of a well-known config parameter >>>> which >>>> has changed from 20.6 (0.89) to 0.90.x >>>> >>>> After almost all 0.20.6 and 0.89 deployments are gone in the world, >>>> toggle >>>> to version check. >>>> >>> >>> Better would be to use the classloader to find the hbase-default.xml path >>> that got loaded and include that in the error. File a JIRA and let's fix for >>> 0.90.2. >>> >>> -Todd >>> >>> >>>> >>>> On Thu, Feb 17, 2011 at 3:51 PM, Ted Yu <[email protected]> wrote: >>>> >>>> > Your change cannot distinguish missing hbase-default.xml and the old >>>> > hbase-default.xml >>>> > This makes debugging hard, considering what I said in my first email. >>>> > >>>> > >>>> > On Thu, Feb 17, 2011 at 3:26 PM, Todd Lipcon <[email protected]> >>>> wrote: >>>> > >>>> >> Then you've probably got another hbase-default somewhere on your >>>> >> classpath. >>>> >> >>>> >> >>>> >> On Thu, Feb 17, 2011 at 3:26 PM, Ted Yu <[email protected]> wrote: >>>> >> >>>> >>> I checked the size of the packaged file which is the same as the >>>> build >>>> >>> artifact: >>>> >>> >>>> >>> tyumac:hbase-0.90.1 tyu$ ls -l target/classes/hbase-default.xml >>>> >>> -rw-r--r-- 1 tyu staff 23610 Feb 11 11:50 >>>> >>> target/classes/hbase-default.xml >>>> >>> >>>> >>> I also unpacked the file and saw the correct version. >>>> >>> >>>> >>> >>>> >>> On Thu, Feb 17, 2011 at 3:17 PM, Todd Lipcon <[email protected]> >>>> wrote: >>>> >>> >>>> >>>> Where are you getting the hbase-defaults.xml file that you're >>>> packaging >>>> >>>> into your jar? >>>> >>>> >>>> >>>> You need to take it out of the hbase jar that ships with 0.90.1 and >>>> >>>> package that one -- my guess is you've packaged one from an older >>>> version. >>>> >>>> >>>> >>>> -Todd >>>> >>>> >>>> >>>> On Thu, Feb 17, 2011 at 3:01 PM, Ted Yu <[email protected]> >>>> wrote: >>>> >>>> >>>> >>>>> We re-package hbase jar into the jar containing our classes. >>>> >>>>> >>>> >>>>> [sjc1-hadoop0.sjc1:hadoop 36789]jar tvf >>>> >>>>> /usr/local/hadoop/sims/lib/flow-m2m_hbase_regr-38.jar | grep >>>> MetaSca >>>> >>>>> 7030 Fri Feb 11 11:50:28 GMT+00:00 2011 >>>> >>>>> org/apache/hadoop/hbase/client/MetaScanner.class >>>> >>>>> 2027 Fri Feb 11 11:50:28 GMT+00:00 2011 >>>> >>>>> org/apache/hadoop/hbase/client/MetaScanner$1.class >>>> >>>>> [sjc1-hadoop0.sjc1:hadoop 36791]jar tvf >>>> >>>>> /usr/local/hadoop/sims/lib/flow-m2m_hbase_regr-38.jar | grep >>>> default | >>>> >>>>> grep >>>> >>>>> hbase >>>> >>>>> 23610 Fri Feb 11 11:50:22 GMT+00:00 2011 hbase-default.xml >>>> >>>>> >>>> >>>>> If the above jar structure is incorrect, please comment. >>>> >>>>> >>>> >>>>> Using 0.90.1 jar as client, I saw: >>>> >>>>> >>>> >>>>> INFO [2011-02-17 06:52:23] (ExecUtil.java:261) - >>>> >>>>> java.lang.RuntimeException: hbase-default.xml file seems to be for >>>> and >>>> >>>>> old version of HBase (null), this version is 0.90.1 >>>> >>>>> INFO [2011-02-17 06:52:23] (ExecUtil.java:261) - at >>>> >>>>> >>>> >>>>> >>>> org.apache.hadoop.hbase.HBaseConfiguration.checkDefaultsVersion(HBaseConfiguration.java:66) >>>> >>>>> INFO [2011-02-17 06:52:23] (ExecUtil.java:261) - at >>>> >>>>> >>>> >>>>> >>>> org.apache.hadoop.hbase.HBaseConfiguration.addHbaseResources(HBaseConfiguration.java:76) >>>> >>>>> INFO [2011-02-17 06:52:23] (ExecUtil.java:261) - at >>>> >>>>> >>>> >>>>> >>>> org.apache.hadoop.hbase.HBaseConfiguration.<init>(HBaseConfiguration.java:44) >>>> >>>>> INFO [2011-02-17 06:52:23] (ExecUtil.java:261) - at >>>> >>>>> >>>> >>>>> >>>> org.apache.hadoop.hbase.HBaseConfiguration.<init>(HBaseConfiguration.java:56) >>>> >>>>> >>>> >>>>> I looked at Configuration.java which has quiet mode setter. But >>>> the >>>> >>>>> above >>>> >>>>> exception happened in ctor. >>>> >>>>> >>>> >>>>> Please advise how I can troubleshoot this. >>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Todd Lipcon >>>> >>>> Software Engineer, Cloudera >>>> >>>> >>>> >>> >>>> >>> >>>> >> >>>> >> >>>> >> -- >>>> >> Todd Lipcon >>>> >> Software Engineer, Cloudera >>>> >> >>>> > >>>> > >>>> >>> >>> >>> >>> -- >>> Todd Lipcon >>> Software Engineer, Cloudera >>> >> >> > > > -- > Todd Lipcon > Software Engineer, Cloudera >
