Yes, it has always been an implicit requirement. Now it is an explicit one,
because we found people didn't listen to the implicit one.

On Thu, Feb 17, 2011 at 4:29 PM, Ted Yu <[email protected]> wrote:

> 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
> >
>



-- 
Todd Lipcon
Software Engineer, Cloudera

Reply via email to