[
https://issues.apache.org/jira/browse/HIVE-22126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eugene Chung updated HIVE-22126:
--------------------------------
Attachment: HIVE-22126.06.patch
Status: Patch Available (was: Open)
[^HIVE-22126.06.patch]
# Because of dependency of calcite-core itself on guava, its guava usages must
be shaded, too. So I decided to include its family modules, calcite-druid,
calcite-linq4j and org.apache.calcite.avatica:avatica.
# After calcite-core is included in hive-exec.jar, some modules required by
calcite-core, json-path, commons-compiler, janino, and snakeyaml, are not
resolved automatically by maven.
## At first, I tried to include them in hive-exec.jar. But hive-exec.jar
loading was failed because of jar signing problem. (caused by codehaus
commons-compiler)
## So I decided to list them up on the dependency part of pom.xml files of
modules for running unit tests.
# Some test modules like itests/hive-blobstore has original calcite-core on
their test classpath with higher priority than hive-exec.
## I tried to remove original calcite-core dependency with
<dependency><exclusions> but failed.
## Moving hive-exec dependency to the top of the list is my solution.
> hive-exec packaging should shade guava
> --------------------------------------
>
> Key: HIVE-22126
> URL: https://issues.apache.org/jira/browse/HIVE-22126
> Project: Hive
> Issue Type: Bug
> Reporter: Vihang Karajgaonkar
> Assignee: Eugene Chung
> Priority: Major
> Fix For: 4.0.0
>
> Attachments: HIVE-22126.01.patch, HIVE-22126.02.patch,
> HIVE-22126.03.patch, HIVE-22126.04.patch, HIVE-22126.05.patch,
> HIVE-22126.06.patch
>
>
> The ql/pom.xml includes complete guava library into hive-exec.jar
> https://github.com/apache/hive/blob/master/ql/pom.xml#L990 This causes a
> problems for downstream clients of hive which have hive-exec.jar in their
> classpath since they are pinned to the same guava version as that of hive.
> We should shade guava classes so that other components which depend on
> hive-exec can independently use a different version of guava as needed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)