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
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to