hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Yu <yuzhih...@gmail.com>
Subject Re: version check for hbase-default.xml
Date Fri, 18 Feb 2011 00:29:26 GMT
Was this a requirement for 0.20.6 and 0.89 ?

On Thu, Feb 17, 2011 at 4:25 PM, Todd Lipcon <todd@cloudera.com> wrote:

> 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