You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/12/13 21:33:00 UTC
[jira] [Work logged] (HIVE-26843) Filter all dependency module descriptors from shaded jars.
[ https://issues.apache.org/jira/browse/HIVE-26843?focusedWorklogId=833205&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-833205 ]
ASF GitHub Bot logged work on HIVE-26843:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 13/Dec/22 21:32
Start Date: 13/Dec/22 21:32
Worklog Time Spent: 10m
Work Description: cnauroth opened a new pull request, #3853:
URL: https://github.com/apache/hive/pull/3853
### What changes were proposed in this pull request?
Filter all dependency module descriptors from shaded jars.
### Why are the changes needed?
[HIVE-26813](https://issues.apache.org/jira/browse/HIVE-26813) upgraded HikariCP from 2.6.1 to 4.0.3. During review of PR #3839, we discussed the need to omit its module descriptor (module-info.class) from shaded jars. However, it turns out there are also existing instances of module-info.class files from other dependencies like Jackson and Log4J leaking into the shaded jars. We can update the shading filters with wildcards to exclude these and also make it future-proof against any other dependencies that start including a module descriptor.
### Does this PR introduce _any_ user-facing change?
Shaded jars will stop including module-info.class files from Jackson, Log4J and any other dependencies. As discussed in the prior PR, it's incorrect for Hive to include these files:
https://github.com/apache/hive/pull/3839#discussion_r1042642131
### How was this patch tested?
I ran a build locally:
```
mvn -Piceberg clean package -DskipTests
```
Then, I ran the following to iterate through all built jars and check for the presence of module-info.class. It didn't find anything. Prior to this patch, the beeline and JDBC jars contained module-info.class files from Jackson and Log4J.
```
for x in $(find . -name '*.jar'); do echo $x && jar tf $x | grep 'module-info'; done
```
Issue Time Tracking
-------------------
Worklog Id: (was: 833205)
Remaining Estimate: 0h
Time Spent: 10m
> Filter all dependency module descriptors from shaded jars.
> ----------------------------------------------------------
>
> Key: HIVE-26843
> URL: https://issues.apache.org/jira/browse/HIVE-26843
> Project: Hive
> Issue Type: Improvement
> Components: Beeline, Hive, JDBC
> Reporter: Chris Nauroth
> Assignee: Chris Nauroth
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> HIVE-26813 upgraded HikariCP from 2.6.1 to 4.0.3. During review of [PR#3839|https://github.com/apache/hive/pull/3839], we discussed the need to omit its module descriptor (module-info.class) from shaded jars. However, it turns out there are also existing instances of module-info.class files from other dependencies like Jackson and Log4J leaking into the shaded jars. We can update the shading filters with wildcards to exclude these and also make it future-proof against any other dependencies that start including a module descriptor.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)