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

Reply via email to