hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Koifman (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-5274) HCatalog package renaming backward compatibility follow-up
Date Tue, 01 Oct 2013 21:44:26 GMT

     [ https://issues.apache.org/jira/browse/HIVE-5274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Eugene Koifman updated HIVE-5274:
---------------------------------

    Description: 
As part of HIVE-4869, the hbase storage handler in hcat was moved to org.apache.hive.hcatalog,
and then put back to org.apache.hcatalog since it was intended to be deprecated as well.

However, it imports and uses several org.apache.hive.hcatalog classes. This needs to be changed
to use org.apache.hcatalog classes.

==

Note : The above is a complete description of this issue in and of by itself, the following
is more details on the backward-compatibility goal I have(not saying that each of these things
are violated) : 

a) People using org.apache.hcatalog packages should continue being able to use that package,
and see no difference at compile time or runtime. All code here is considered deprecated,
and will be gone by the time hive 0.14 rolls around. Additionally, org.apache.hcatalog should
behave as if it were 0.11 for all compatibility purposes.

b) People using org.apache.hive.hcatalog packages should never have an org.apache.hcatalog
dependency injected in.

Thus,

It is okay for org.apache.hcatalog to use org.apache.hive.hcatalog packages internally (say
HCatUtil, for example), as long as any interfaces only expose org.apache.hcatalog.\* For tests
that test org.apache.hcatalog.\*, we must be capable of testing it from a pure org.apache.hcatalog.\*
world.

It is never okay for org.apache.hive.hcatalog to use org.apache.hcatalog, even in tests.

One addition/clarification:
any application using org.apache.hcatalog.hbase.HBaseHCatStorageHandler must only use classes
from org.apache.hcatalog.  For example org.apache.hcatalog.mapreduce.OutputJobInfo rather
than the new org.apache.hive.hcatalog.mapreduce.OutputJobInfo.

  was:
As part of HIVE-4869, the hbase storage handler in hcat was moved to org.apache.hive.hcatalog,
and then put back to org.apache.hcatalog since it was intended to be deprecated as well.

However, it imports and uses several org.apache.hive.hcatalog classes. This needs to be changed
to use org.apache.hcatalog classes.

==

Note : The above is a complete description of this issue in and of by itself, the following
is more details on the backward-compatibility goal I have(not saying that each of these things
are violated) : 

a) People using org.apache.hcatalog packages should continue being able to use that package,
and see no difference at compile time or runtime. All code here is considered deprecated,
and will be gone by the time hive 0.14 rolls around. Additionally, org.apache.hcatalog should
behave as if it were 0.11 for all compatibility purposes.

b) People using org.apache.hive.hcatalog packages should never have an org.apache.hcatalog
dependency injected in.

Thus,

It is okay for org.apache.hcatalog to use org.apache.hive.hcatalog packages internally (say
HCatUtil, for example), as long as any interfaces only expose org.apache.hcatalog.\* For tests
that test org.apache.hcatalog.\*, we must be capable of testing it from a pure org.apache.hcatalog.\*
world.

It is never okay for org.apache.hive.hcatalog to use org.apache.hcatalog, even in tests.


> HCatalog package renaming backward compatibility follow-up
> ----------------------------------------------------------
>
>                 Key: HIVE-5274
>                 URL: https://issues.apache.org/jira/browse/HIVE-5274
>             Project: Hive
>          Issue Type: Bug
>          Components: HCatalog
>    Affects Versions: 0.12.0
>            Reporter: Sushanth Sowmyan
>            Assignee: Sushanth Sowmyan
>             Fix For: 0.12.0
>
>         Attachments: HIVE-5274.2.patch, HIVE-5274.3.patch, HIVE-5274.4.patch
>
>
> As part of HIVE-4869, the hbase storage handler in hcat was moved to org.apache.hive.hcatalog,
and then put back to org.apache.hcatalog since it was intended to be deprecated as well.
> However, it imports and uses several org.apache.hive.hcatalog classes. This needs to
be changed to use org.apache.hcatalog classes.
> ==
> Note : The above is a complete description of this issue in and of by itself, the following
is more details on the backward-compatibility goal I have(not saying that each of these things
are violated) : 
> a) People using org.apache.hcatalog packages should continue being able to use that package,
and see no difference at compile time or runtime. All code here is considered deprecated,
and will be gone by the time hive 0.14 rolls around. Additionally, org.apache.hcatalog should
behave as if it were 0.11 for all compatibility purposes.
> b) People using org.apache.hive.hcatalog packages should never have an org.apache.hcatalog
dependency injected in.
> Thus,
> It is okay for org.apache.hcatalog to use org.apache.hive.hcatalog packages internally
(say HCatUtil, for example), as long as any interfaces only expose org.apache.hcatalog.\*
For tests that test org.apache.hcatalog.\*, we must be capable of testing it from a pure org.apache.hcatalog.\*
world.
> It is never okay for org.apache.hive.hcatalog to use org.apache.hcatalog, even in tests.
> One addition/clarification:
> any application using org.apache.hcatalog.hbase.HBaseHCatStorageHandler must only use
classes from org.apache.hcatalog.  For example org.apache.hcatalog.mapreduce.OutputJobInfo
rather than the new org.apache.hive.hcatalog.mapreduce.OutputJobInfo.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message