hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward Capriolo (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-3017) hive-exec jar, contains classes from other modules(hive-serde, hive-shims, hive-common etc) duplicating those classes in two jars
Date Sat, 17 Nov 2012 20:54:12 GMT

    [ 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

Mime
View raw message