I understand.

Can we do something like this?

oldpackage.HCatologLoader extends newpackage.HCatlogloader { }

If we do something like this we don't need to test both classes, it is safe
to assume they both do the same thing.

I understand that we do not want users to have to specify a new class name,
but 15 minutes of unit tests around a re-name is overkill.


On Tue, Sep 3, 2013 at 2:13 PM, Eugene Koifman <ekoif...@hortonworks.com>wrote:

> Edward,
>
> "If a testing framework is truly testing all code paths twice, there
> is not much of a win there from a unit/integration tests standpoint. If the
> unit tests created more coverage of the code that would be an obvious win.
> I have not looked at your patch but from your description it sounds like we
> are attempting to test a rename that does not sound like a win to me."
>
> Actually this is not what we are testing.  The package name change (as well
> as any changes made in 0.12) will be tested by current tests (which will
> also change package name).
>
> The goal of bringing 0.11 version of the source (and corresponding tests)
> into 0.12 is to ensure that users who use HCatalog from scripts/MR jobs,
> etc (e.g. a Pig script: A = LOAD 'tablename' USING
> org.apache.hcatalog.pig.HCatLoader();)  will not have to update all the
> their scripts/programs when upgrading to 0.12.  Having 0.11 tests in 0.12
> branch ensures that this compatibility layer continues to work while HIve
> 0.12 and later versions are evolving.
>
>
>
>
>
> On Tue, Sep 3, 2013 at 10:22 AM, Edward Capriolo <edlinuxg...@gmail.com
> >wrote:
>
> > I would say a main goal of unit and integration testing is to try all
> code
> > paths. If a testing framework is truly testing all code paths twice,
> there
> > is not much of a win there from a unit/integration tests standpoint. If
> the
> > unit tests created more coverage of the code that would be an obvious
> win.
> > I have not looked at your patch but from your description it sounds like
> we
> > are attempting to test a rename that does not sound like a win to me.
> >
> > If the current hcatalog tests run in 15 minutes, you make a change and
> then
> > the run is 30 minutes. 15 minutes is a nice long coffee break, 30 minutes
> > is a TV show :)
> >
> > As for the overall hive build taking 10-15 hours. I know that :) I used
> to
> > run them, by hand, on my laptop, because no one would share their build
> > farm with me. I have heard that Hive consumes the vast majority of the
> > resources of apache's build farm! I think we need to be good citizens at
> > apache and attempt to make this better, not worse.
> >
> > Now that we have pre-commit builds we can work at a reasonable pace. Now
> > that we have this nice pre-commit farm, I do not want to create a
> precedent
> > that now we can go "nuts", and start down the same slippery slope.
> >
> >
> >
> >
> > On Tue, Sep 3, 2013 at 12:57 PM, Eugene Koifman <
> ekoif...@hortonworks.com
> > >wrote:
> >
> > > Current (sequential) run of all hive/hcat unit tests takes 10-15 hours.
> >  Is
> > > another 20-30 minutes that significant?
> > >
> > > I'm generally wary of unit tests that are not run continuously and
> > > automatically.  It delays the detection of problems and then what was
> > > probably an obvious fix at the time the change was made becomes a long
> > > debugging session (often by someone other than whose change broke
> > things).
> > >  I think this is especially true given how many people are contributing
> > to
> > > hive.
> > >
> > >
> > >
> > > On Tue, Sep 3, 2013 at 7:25 AM, Brock Noland <br...@cloudera.com>
> wrote:
> > >
> > > > OK that should be fine.  Though I would echo Edwards sentiment about
> > > > adding so much test time. Do these tests have to run each time? Does
> > > > it make sense to have an test target such as test-all-hcatalog and
> > > > then have then run them periodically manually, especially before
> > > > releases?
> > > >
> > > > On Mon, Sep 2, 2013 at 10:36 AM, Eugene Koifman
> > > > <ekoif...@hortonworks.com> wrote:
> > > > > These will be new (I.e. 0.11 version) test classes which will be in
> > the
> > > > old
> > > > > org.apache.hcatalog package.  How does that affect the new
> framework?
> > > > >
> > > > > On Saturday, August 31, 2013, Brock Noland wrote:
> > > > >
> > > > >> Will these be new Java class files or new test methods to existing
> > > > >> classes?  I am just curious as to how this will play into the
> > > > >> distributed testing framework.
> > > > >>
> > > > >> On Sat, Aug 31, 2013 at 10:19 AM, Eugene Koifman
> > > > >> <ekoif...@hortonworks.com> wrote:
> > > > >> > not quite double but close  (on my Mac that means it will go up
> > from
> > > > 35
> > > > >> > minutes to 55-60) so in greater scheme of things it should be
> > > > negligible
> > > > >> >
> > > > >> >
> > > > >> >
> > > > >> > On Sat, Aug 31, 2013 at 7:35 AM, Edward Capriolo <
> > > > edlinuxg...@gmail.com
> > > > >> >wrote:
> > > > >> >
> > > > >> >> By coverage do you mean to say that:
> > > > >> >>
> > > > >> >> > Thus, the published HCatalog JARs will contain both packages
> > and
> > > > the
> > > > >> unit
> > > > >> >> > tests will cover both versions of the API.
> > > > >> >>
> > > > >> >> We are going to double the time of unit tests for this module?
> > > > >> >>
> > > > >> >>
> > > > >> >> On Fri, Aug 30, 2013 at 8:41 PM, Eugene Koifman <
> > > > >> ekoif...@hortonworks.com
> > > > >> >> >wrote:
> > > > >> >>
> > > > >> >> > This will change every file under hcatalog so it has to
> happen
> > > > before
> > > > >> the
> > > > >> >> > branching.  Most likely at the beginning of next week.
> > > > >> >> >
> > > > >> >> > Thanks
> > > > >> >> >
> > > > >> >> >
> > > > >> >> > On Wed, Aug 28, 2013 at 5:24 PM, Eugene Koifman <
> > > > >> >> ekoif...@hortonworks.com
> > > > >> >> > >wrote:
> > > > >> >> >
> > > > >> >> > > Hi,
> > > > >> >> > >
> > > > >> >> > >
> > > > >> >> > > Here is the plan for refactoring HCatalog as was agreed to
> > when
> > > > it
> > > > >> was
> > > > >> >> > > merged into Hive during.  HIVE-4869 is the umbrella bug for
> > > this
> > > > >> work.
> > > > >> >> >  The
> > > > >> >> > > changes are complex and touch every single file under
> > hcatalog.
> > > > >>  Please
> > > > >> >> > > comment.
> > > > >> >> > >
> > > > >> >> > > When HCatalog project was merged into Hive on 0.11 several
> > > > >> integration
> > > > >> >> > > items did not make the 0.11 deadline.  It was agreed to
> > finish
> > > > them
> > > > >> in
> > > > >> >> > 0.12
> > > > >> >> > > release.  Specifically:
> > > > >> >> > >
> > > > >> >> > > 1. HIVE-4895 - change package name from org.apache.hcatalog
> > to
> > > > >> >> > > org.apache.hive.hcatalog
> > > > >> >> > >
> > > > >> >> > > 2. HIVE-4896 - create binary backwards compatibility layer
> > for
> > > > hcat
> > > > >> >> users
> > > > >> >> > > upgrading from 0.11 to 0.12
> > > > >> >> > >
> > > > >> >> > > For item 1, we’ll just move every file under
> > > org.apache.hcatalog
> > > > to
> > > > >> >> > > org.apache.hive.hcatalog and update all “package” and
> > “import”
> > > > >> >> statement
> > > > >> >> > as
> > > > >> >> > > well as all hcat/webhcat scripts.  This will include all
> > JUnit
> > > > >> tests.
> > > > >> >> > >
> > > > >> >> > > Item 2 will ensure that if a user has a M/R program or Pig
> > > > script,
> > > > >> etc.
> > > > >> >> > > that uses HCatalog public API, their programs will continue
> > to
> > > > work
> > > > >> w/o
> > > > >> >> > > change with hive 0.12.
> > > > >> >> > >
> > > > >> >> > > The proposal is to make the changes that have as little
> > impact
> > > on
> > > > >> the
> > > > >> >> > > build system, in part to make upcoming ‘mavenization’ of
> hive
> > > > >> easier,
> > > > >> >> in
> > > > >> >> > > part to make the changes more manageable.
> > > > >> >> > >
> > > > >> >> > >
> > > > >> >> > >
> > > > >> >> > > The list of public interfaces (and their transitive
> closure)
> > > for
> > > > >> which
> > > > >> >> > > backwards compat will be provided.
> > > > >> >> > >
> > > > >> >> > >    1.
> > > > >> >> > >
> > > > >> >> > >    HCatLoader
> > > > >> >> > >    2.
> > > > >> >> > >
> > > > >> >> > >    HCatStorer
> > > > >> >> > >    3.
> > > > >> >> > >
> > > > >> >> > >    HCatInputFormat
> > > > >> >> > >    4.
> > > > >> >> > >
> > > > >> >> > >    HCatOutputFormat
> > > > >> >> > >    5.
> > > > >> >> > >
> > > > >> >> > >    HCatReader
> > > > >> >> > >    6.
> > > > >> >> > >
> > > > >> >> > >    HCatWriter
> > > > >> >> > >    7.
> > > > >> >> > >
> > > > >> >> > >    HCatRecord
> > > > >> >> > >    8.
> > > > >> >> > >
> > > > >> >> > >    HCatSchema
> > > > >> >> > >
> > > > >> >> > >
> > > > >> >> > > To achieve this, 0.11 version of these classes will be
> added
> > in
> > > > >> >> > > org.apache.hcatalog package (after item 1 is done).  Each
> of
> > > > these
> > > > >> >> > classes
> > > > >> --
> > > > >> Apache MRUnit - Unit testing MapReduce - http://mrunit.apache.org
> > > > >>
> > > > >
> > > > > --
> > > > > CONFIDENTIALITY NOTICE
> > > > > NOTICE: This message is intended for the use of the individual or
> > > entity
> > > > to
> > > > > which it is addressed and may contain information that is
> > confidential,
> > > > > privileged and exempt from disclosure under applicable law. If the
> > > reader
> > > > > of this message is not the intended recipient, you are hereby
> > notified
> > > > that
> > > > > any printing, copying, dissemination, distribution, disclosure or
> > > > > forwarding of this communication is strictly prohibited. If you
> have
> > > > > received this communication in error, please contact the sender
> > > > immediately
> > > > > and delete it from your system. Thank You.
> > > >
> > > >
> > > >
> > > > --
> > > > Apache MRUnit - Unit testing MapReduce - http://mrunit.apache.org
> > > >
> > >
> > > --
> > > CONFIDENTIALITY NOTICE
> > > NOTICE: This message is intended for the use of the individual or
> entity
> > to
> > > which it is addressed and may contain information that is confidential,
> > > privileged and exempt from disclosure under applicable law. If the
> reader
> > > of this message is not the intended recipient, you are hereby notified
> > that
> > > any printing, copying, dissemination, distribution, disclosure or
> > > forwarding of this communication is strictly prohibited. If you have
> > > received this communication in error, please contact the sender
> > immediately
> > > and delete it from your system. Thank You.
> > >
> >
>
> --
> CONFIDENTIALITY NOTICE
> NOTICE: This message is intended for the use of the individual or entity to
> which it is addressed and may contain information that is confidential,
> privileged and exempt from disclosure under applicable law. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any printing, copying, dissemination, distribution, disclosure or
> forwarding of this communication is strictly prohibited. If you have
> received this communication in error, please contact the sender immediately
> and delete it from your system. Thank You.
>

Reply via email to