hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Todd Lipcon <t...@cloudera.com>
Subject Re: version check for hbase-default.xml
Date Fri, 18 Feb 2011 00:25:02 GMT
On Thu, Feb 17, 2011 at 4:19 PM, Ted Yu <yuzhihong@gmail.com> 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 <todd@cloudera.com> wrote:
>
>> On Thu, Feb 17, 2011 at 4:03 PM, Ted Yu <yuzhihong@gmail.com> 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 <yuzhihong@gmail.com> 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 <todd@cloudera.com>
>>> wrote:
>>> >
>>> >> Then you've probably got another hbase-default somewhere on your
>>> >> classpath.
>>> >>
>>> >>
>>> >> On Thu, Feb 17, 2011 at 3:26 PM, Ted Yu <yuzhihong@gmail.com>
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 <todd@cloudera.com>
>>> 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 <yuzhihong@gmail.com>
>>> 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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message