[ 
https://issues.apache.org/jira/browse/HIVE-3017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13499514#comment-13499514
 ] 

Edward Capriolo commented on HIVE-3017:
---------------------------------------

The core issue is that hive needs things to work. Example hive might use 
CommonUtil.String.isEmpty() from 2.5. Well some user code might require 
CommonUtil.String.isEmpty() from 2.6. The only full proof solution is that hive 
will have to shade (or rename every class or) everything it uses so it will not 
possibly conflict with anything in the world. 

For example, I use hive+cassandra both have different versions of thrift at the 
moment, both have different versions of antlr as well. The only answer is 
upgrade one projects so the libs match or make a fat jar and rename all the 
conflicts.


These options have come up and been discussed before. 
                
> hive-exec jar, contains classes from other modules(hive-serde, hive-shims, 
> hive-common etc) duplicating those classes in two jars
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-3017
>                 URL: https://issues.apache.org/jira/browse/HIVE-3017
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Jakob Homan
>
> HIVE-2646 added the jars from hive-serde to the hive-exec class:
> {noformat}
> ...
>      0 Wed May 09 20:56:30 PDT 2012 org/apache/hadoop/hive/serde2/typeinfo/
>   1971 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/ListTypeInfo.class
>   2396 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/MapTypeInfo.class
>   2788 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/PrimitiveTypeInfo.class
>   4408 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/StructTypeInfo.class
>    900 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/TypeInfo.class
>   6576 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.class
>   1231 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils$1.class
>   1239 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils$TypeInfoParser$Token.class
>   7145 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils$TypeInfoParser.class
>  14482 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.class
>   2594 Wed May 09 20:56:28 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/UnionTypeInfo.class
>    144 Wed May 09 20:56:30 PDT 2012 
> org/apache/hadoop/hive/serde2/typeinfo/package-info.class
> ...{noformat}
> Was this intentional? If so, the serde jar should be deprecated. If not, the 
> serde classes should be removed since this creates two sources of truth for 
> them and can cause other problems (see HCATALOG-407).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to