You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by xu...@apache.org on 2022/10/08 16:50:33 UTC
[hudi] branch master updated: [HUDI-4971] Fix shading kryo-shaded with reusing configs (#6873)
This is an automated email from the ASF dual-hosted git repository.
xushiyan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 182475a854 [HUDI-4971] Fix shading kryo-shaded with reusing configs (#6873)
182475a854 is described below
commit 182475a8548c6174bb21999e4b55003e9854da3c
Author: Shiyan Xu <27...@users.noreply.github.com>
AuthorDate: Sun Oct 9 00:50:25 2022 +0800
[HUDI-4971] Fix shading kryo-shaded with reusing configs (#6873)
---
packaging/hudi-aws-bundle/pom.xml | 16 ++----------
packaging/hudi-datahub-sync-bundle/pom.xml | 16 ++----------
packaging/hudi-flink-bundle/pom.xml | 19 ++-------------
packaging/hudi-gcp-bundle/pom.xml | 16 ++----------
packaging/hudi-hadoop-mr-bundle/pom.xml | 19 ++-------------
packaging/hudi-hive-sync-bundle/pom.xml | 19 ++-------------
packaging/hudi-integ-test-bundle/pom.xml | 19 ++-------------
packaging/hudi-kafka-connect-bundle/pom.xml | 7 ++----
packaging/hudi-presto-bundle/pom.xml | 20 ++-------------
packaging/hudi-spark-bundle/pom.xml | 4 +--
packaging/hudi-timeline-server-bundle/pom.xml | 7 ++----
packaging/hudi-trino-bundle/pom.xml | 19 ++-------------
packaging/hudi-utilities-bundle/pom.xml | 4 +--
packaging/hudi-utilities-slim-bundle/pom.xml | 4 +--
pom.xml | 35 +++++++++++++++++++++++++++
15 files changed, 63 insertions(+), 161 deletions(-)
diff --git a/packaging/hudi-aws-bundle/pom.xml b/packaging/hudi-aws-bundle/pom.xml
index 61aea395ed..75e13ff5f9 100644
--- a/packaging/hudi-aws-bundle/pom.xml
+++ b/packaging/hudi-aws-bundle/pom.xml
@@ -71,7 +71,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<include>org.apache.hudi:hudi-sync-common</include>
@@ -102,15 +102,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
+ <relocations combine.children="append">
<relocation>
<pattern>com.beust.jcommander.</pattern>
<shadedPattern>org.apache.hudi.com.beust.jcommander.</shadedPattern>
@@ -134,10 +126,6 @@
<pattern>org.apache.htrace.</pattern>
<shadedPattern>org.apache.hudi.org.apache.htrace.</shadedPattern>
</relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
<relocation>
<pattern>com.amazonaws.</pattern>
<shadedPattern>org.apache.hudi.com.amazonaws.</shadedPattern>
diff --git a/packaging/hudi-datahub-sync-bundle/pom.xml b/packaging/hudi-datahub-sync-bundle/pom.xml
index 7425631181..2bae25239d 100644
--- a/packaging/hudi-datahub-sync-bundle/pom.xml
+++ b/packaging/hudi-datahub-sync-bundle/pom.xml
@@ -67,7 +67,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<include>org.apache.hudi:hudi-sync-common</include>
@@ -98,15 +98,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
+ <relocations combine.children="append">
<relocation>
<pattern>org.apache.commons.io.</pattern>
<shadedPattern>org.apache.hudi.org.apache.commons.io.</shadedPattern>
@@ -126,10 +118,6 @@
<pattern>org.apache.htrace.</pattern>
<shadedPattern>org.apache.hudi.org.apache.htrace.</shadedPattern>
</relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
<relocation>
<pattern>org.openjdk.jol.</pattern>
<shadedPattern>org.apache.hudi.org.openjdk.jol.</shadedPattern>
diff --git a/packaging/hudi-flink-bundle/pom.xml b/packaging/hudi-flink-bundle/pom.xml
index d51a9af45f..e5726bca94 100644
--- a/packaging/hudi-flink-bundle/pom.xml
+++ b/packaging/hudi-flink-bundle/pom.xml
@@ -74,7 +74,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-client-common</include>
<include>org.apache.hudi:hudi-flink-client</include>
@@ -129,9 +129,6 @@
<include>org.eclipse.jetty.websocket:*</include>
<include>javax.servlet:javax.servlet-api</include>
- <!-- Used for HUDI write handle -->
- <include>com.esotericsoftware:kryo-shaded</include>
-
<include>org.apache.flink:${flink.hadoop.compatibility.artifactId}</include>
<include>org.apache.flink:flink-json</include>
<include>org.apache.flink:${flink.parquet.artifactId}</include>
@@ -166,7 +163,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<relocation>
<pattern>javax.servlet.</pattern>
<shadedPattern>${flink.bundle.shade.prefix}javax.servlet.</shadedPattern>
@@ -214,11 +211,6 @@
<pattern>org.eclipse.jetty.</pattern>
<shadedPattern>${flink.bundle.shade.prefix}org.apache.jetty.</shadedPattern>
</relocation>
- <!-- Shade kryo-shaded because it may conflict with kryo used by flink -->
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>${flink.bundle.shade.prefix}com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
<relocation>
<pattern>com.fasterxml.jackson.</pattern>
<shadedPattern>${flink.bundle.shade.prefix}com.fasterxml.jackson.</shadedPattern>
@@ -645,13 +637,6 @@
<scope>${flink.bundle.hive.scope}</scope>
</dependency>
- <!-- kryo -->
- <dependency>
- <groupId>com.esotericsoftware</groupId>
- <artifactId>kryo-shaded</artifactId>
- <version>4.0.2</version>
- </dependency>
-
<!-- ORC -->
<dependency>
<groupId>org.apache.orc</groupId>
diff --git a/packaging/hudi-gcp-bundle/pom.xml b/packaging/hudi-gcp-bundle/pom.xml
index 28dd14fd0f..289289e1db 100644
--- a/packaging/hudi-gcp-bundle/pom.xml
+++ b/packaging/hudi-gcp-bundle/pom.xml
@@ -91,7 +91,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<include>org.apache.hudi:hudi-sync-common</include>
@@ -117,15 +117,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
+ <relocations combine.children="append">
<relocation>
<pattern>org.apache.commons.io.</pattern>
<shadedPattern>org.apache.hudi.org.apache.commons.io.</shadedPattern>
@@ -145,10 +137,6 @@
<pattern>org.apache.htrace.</pattern>
<shadedPattern>org.apache.hudi.org.apache.htrace.</shadedPattern>
</relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
<relocation>
<pattern>org.openjdk.jol.</pattern>
<shadedPattern>org.apache.hudi.org.openjdk.jol.</shadedPattern>
diff --git a/packaging/hudi-hadoop-mr-bundle/pom.xml b/packaging/hudi-hadoop-mr-bundle/pom.xml
index e87a86e5a0..340152d190 100644
--- a/packaging/hudi-hadoop-mr-bundle/pom.xml
+++ b/packaging/hudi-hadoop-mr-bundle/pom.xml
@@ -65,16 +65,13 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<!-- Parquet -->
<include>org.apache.parquet:parquet-avro</include>
<include>org.apache.parquet:parquet-hadoop-bundle</include>
<include>org.apache.avro:avro</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>org.objenesis:objenesis</include>
- <include>com.esotericsoftware:minlog</include>
<include>org.apache.hbase:hbase-common</include>
<include>org.apache.hbase:hbase-client</include>
<include>org.apache.hbase:hbase-hadoop-compat</include>
@@ -93,23 +90,11 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<relocation>
<pattern>com.yammer.metrics.</pattern>
<shadedPattern>org.apache.hudi.com.yammer.metrics.</shadedPattern>
</relocation>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
<relocation>
<pattern>org.apache.avro.</pattern>
<shadedPattern>org.apache.hudi.org.apache.avro.</shadedPattern>
diff --git a/packaging/hudi-hive-sync-bundle/pom.xml b/packaging/hudi-hive-sync-bundle/pom.xml
index d108779ffe..faae45f45b 100644
--- a/packaging/hudi-hive-sync-bundle/pom.xml
+++ b/packaging/hudi-hive-sync-bundle/pom.xml
@@ -65,7 +65,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<include>org.apache.hudi:hudi-sync-common</include>
@@ -87,26 +87,11 @@
<include>org.apache.hbase.thirdparty:hbase-shaded-protobuf</include>
<include>org.apache.htrace:htrace-core4</include>
<include>org.apache.parquet:parquet-avro</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>org.objenesis:objenesis</include>
- <include>com.esotericsoftware:minlog</include>
<include>commons-io:commons-io</include>
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
+ <relocations combine.children="append">
<relocation>
<pattern>org.apache.commons.io.</pattern>
<shadedPattern>org.apache.hudi.org.apache.commons.io.</shadedPattern>
diff --git a/packaging/hudi-integ-test-bundle/pom.xml b/packaging/hudi-integ-test-bundle/pom.xml
index b48e42ac0a..747a9303df 100644
--- a/packaging/hudi-integ-test-bundle/pom.xml
+++ b/packaging/hudi-integ-test-bundle/pom.xml
@@ -66,7 +66,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>commons-codec:commons-codec</include>
<include>commons-dbcp:commons-dbcp</include>
<include>commons-lang:commons-lang</include>
@@ -156,9 +156,6 @@
<include>org.apache.hive:hive-jdbc</include>
<include>org.apache.hive:hive-exec</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>org.objenesis:objenesis</include>
- <include>com.esotericsoftware:minlog</include>
<include>com.yammer.metrics:metrics-core</include>
<include>org.apache.thrift:libfb303</include>
@@ -187,7 +184,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<!-- NOTE: We have to relocate all classes w/in org.apache.spark.sql.avro to avoid
potential classpath collisions in case users would like to also use "spark-avro" w/in
their runtime, since Hudi carries some of the same classes as "spark-avro" -->
@@ -282,18 +279,6 @@
<pattern>org.apache.hive.jdbc.</pattern>
<shadedPattern>org.apache.hudi.org.apache.hive.jdbc.</shadedPattern>
</relocation>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
<relocation>
<pattern>com.codahale.metrics.</pattern>
<shadedPattern>org.apache.hudi.com.codahale.metrics.</shadedPattern>
diff --git a/packaging/hudi-kafka-connect-bundle/pom.xml b/packaging/hudi-kafka-connect-bundle/pom.xml
index 057752e14b..86a52496c2 100644
--- a/packaging/hudi-kafka-connect-bundle/pom.xml
+++ b/packaging/hudi-kafka-connect-bundle/pom.xml
@@ -71,7 +71,7 @@
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-client-common</include>
<include>org.apache.hudi:hudi-java-client</include>
@@ -114,9 +114,6 @@
<include>io.prometheus:simpleclient_pushgateway</include>
<include>io.prometheus:simpleclient_common</include>
<include>com.google.protobuf:protobuf-java</include>
- <include>org.objenesis:objenesis</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>com.esotericsoftware:minlog</include>
<include>org.apache.hbase:hbase-client</include>
<include>org.apache.hbase:hbase-common</include>
@@ -136,7 +133,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<relocation>
<pattern>com.google.protobuf.</pattern>
<shadedPattern>${kafka.connect.bundle.shade.prefix}com.google.protobuf.</shadedPattern>
diff --git a/packaging/hudi-presto-bundle/pom.xml b/packaging/hudi-presto-bundle/pom.xml
index c9b18b8694..3cf110316c 100644
--- a/packaging/hudi-presto-bundle/pom.xml
+++ b/packaging/hudi-presto-bundle/pom.xml
@@ -65,16 +65,13 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<include>org.apache.parquet:parquet-avro</include>
<include>org.apache.avro:avro</include>
<include>org.codehaus.jackson:*</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>org.objenesis:objenesis</include>
- <include>com.esotericsoftware:minlog</include>
<include>org.apache.commons:commons-lang3</include>
<include>org.apache.hbase:hbase-common</include>
<include>org.apache.hbase:hbase-client</include>
@@ -97,7 +94,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<relocation>
<pattern>org.apache.parquet.avro.</pattern>
<shadedPattern>org.apache.hudi.org.apache.parquet.avro.</shadedPattern>
@@ -129,18 +126,6 @@
<pattern>org.codehaus.jackson.</pattern>
<shadedPattern>org.apache.hudi.org.codehaus.jackson.</shadedPattern>
</relocation>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
<relocation>
<pattern>com.yammer.metrics.</pattern>
<shadedPattern>org.apache.hudi.com.yammer.metrics.</shadedPattern>
@@ -248,7 +233,6 @@
<exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/services/javax.*</exclude>
<exclude>**/*.proto</exclude>
- <exclude>com/esotericsoftware/reflectasm/**</exclude>
<exclude>hbase-webapps/**</exclude>
<exclude>stringBehavior.avsc</exclude>
</excludes>
diff --git a/packaging/hudi-spark-bundle/pom.xml b/packaging/hudi-spark-bundle/pom.xml
index 511f9d4493..7c23ebf707 100644
--- a/packaging/hudi-spark-bundle/pom.xml
+++ b/packaging/hudi-spark-bundle/pom.xml
@@ -68,7 +68,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-client-common</include>
<include>org.apache.hudi:hudi-spark-client</include>
@@ -138,7 +138,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<!-- NOTE: We have to relocate all classes w/in org.apache.spark.sql.avro to avoid
potential classpath collisions in case users would like to also use "spark-avro" w/in
their runtime, since Hudi carries some of the same classes as "spark-avro" -->
diff --git a/packaging/hudi-timeline-server-bundle/pom.xml b/packaging/hudi-timeline-server-bundle/pom.xml
index 8f57395efd..99ba8696bd 100644
--- a/packaging/hudi-timeline-server-bundle/pom.xml
+++ b/packaging/hudi-timeline-server-bundle/pom.xml
@@ -155,7 +155,7 @@
</filter>
</filters>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<!--
Include hudi-timeline-server with javalin dependencies.
hadoop deps are to be provided at runtime. see run_server.sh
@@ -207,15 +207,12 @@
<include>org.apache.hbase.thirdparty:hbase-shaded-netty</include>
<include>org.apache.hbase.thirdparty:hbase-shaded-protobuf</include>
<include>org.apache.htrace:htrace-core4</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>com.esotericsoftware:minlog</include>
<include>commons-io:commons-io</include>
<include>log4j:log4j</include>
- <include>org.objenesis:objenesis</include>
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<relocation>
<pattern>org.apache.commons.io.</pattern>
<shadedPattern>org.apache.hudi.org.apache.commons.io.</shadedPattern>
diff --git a/packaging/hudi-trino-bundle/pom.xml b/packaging/hudi-trino-bundle/pom.xml
index 39c5ced1a9..06e5094ac4 100644
--- a/packaging/hudi-trino-bundle/pom.xml
+++ b/packaging/hudi-trino-bundle/pom.xml
@@ -66,16 +66,13 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-hadoop-mr</include>
<include>org.apache.parquet:parquet-avro</include>
<include>org.apache.avro:avro</include>
<include>org.codehaus.jackson:*</include>
- <include>com.esotericsoftware:kryo-shaded</include>
- <include>org.objenesis:objenesis</include>
- <include>com.esotericsoftware:minlog</include>
<include>org.apache.hbase:hbase-common</include>
<include>org.apache.hbase:hbase-client</include>
<include>org.apache.hbase:hbase-hadoop-compat</include>
@@ -97,7 +94,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<relocation>
<pattern>org.apache.parquet.avro.</pattern>
<shadedPattern>org.apache.hudi.org.apache.parquet.avro.</shadedPattern>
@@ -129,18 +126,6 @@
<pattern>org.codehaus.jackson.</pattern>
<shadedPattern>org.apache.hudi.org.codehaus.jackson.</shadedPattern>
</relocation>
- <relocation>
- <pattern>com.esotericsoftware.kryo.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>org.objenesis.</pattern>
- <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware.minlog.</pattern>
- <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
- </relocation>
<relocation>
<pattern>com.yammer.metrics.</pattern>
<shadedPattern>org.apache.hudi.com.yammer.metrics.</shadedPattern>
diff --git a/packaging/hudi-utilities-bundle/pom.xml b/packaging/hudi-utilities-bundle/pom.xml
index 1f740b276f..ecfcf76878 100644
--- a/packaging/hudi-utilities-bundle/pom.xml
+++ b/packaging/hudi-utilities-bundle/pom.xml
@@ -90,7 +90,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-client-common</include>
<include>org.apache.hudi:hudi-spark-client</include>
@@ -170,7 +170,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<!-- NOTE: We have to relocate all classes w/in org.apache.spark.sql.avro to avoid
potential classpath collisions in case users would like to also use "spark-avro" w/in
their runtime, since Hudi carries some of the same classes as "spark-avro" -->
diff --git a/packaging/hudi-utilities-slim-bundle/pom.xml b/packaging/hudi-utilities-slim-bundle/pom.xml
index b5e4fcbb17..cc155769ad 100644
--- a/packaging/hudi-utilities-slim-bundle/pom.xml
+++ b/packaging/hudi-utilities-slim-bundle/pom.xml
@@ -90,7 +90,7 @@
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<artifactSet>
- <includes>
+ <includes combine.children="append">
<include>org.apache.hudi:hudi-common</include>
<include>org.apache.hudi:hudi-client-common</include>
<include>org.apache.hudi:hudi-utilities_${scala.binary.version}</include>
@@ -153,7 +153,7 @@
<include>org.openjdk.jol:jol-core</include>
</includes>
</artifactSet>
- <relocations>
+ <relocations combine.children="append">
<!-- NOTE: We have to relocate all classes w/in org.apache.spark.sql.avro to avoid
potential classpath collisions in case users would like to also use "spark-avro" w/in
their runtime, since Hudi carries some of the same classes as "spark-avro" -->
diff --git a/pom.xml b/pom.xml
index 8023bf0c17..6acd3b5835 100644
--- a/pom.xml
+++ b/pom.xml
@@ -423,6 +423,41 @@
<skip>${skipDocker}</skip>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>${maven-shade-plugin.version}</version>
+ <configuration>
+ <!-- common to all bundles -->
+ <artifactSet>
+ <includes>
+ <!-- com.esotericsoftware:kryo-shaded -->
+ <include>com.esotericsoftware:kryo-shaded</include>
+ <include>com.esotericsoftware:minlog</include>
+ <include>org.objenesis:objenesis</include>
+ </includes>
+ </artifactSet>
+ <relocations>
+ <!-- com.esotericsoftware:kryo-shaded -->
+ <relocation>
+ <pattern>com.esotericsoftware.kryo.</pattern>
+ <shadedPattern>org.apache.hudi.com.esotericsoftware.kryo.</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.esotericsoftware.reflectasm.</pattern>
+ <shadedPattern>org.apache.hudi.com.esotericsoftware.reflectasm.</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.esotericsoftware.minlog.</pattern>
+ <shadedPattern>org.apache.hudi.com.esotericsoftware.minlog.</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>org.objenesis.</pattern>
+ <shadedPattern>org.apache.hudi.org.objenesis.</shadedPattern>
+ </relocation>
+ </relocations>
+ </configuration>
+ </plugin>
</plugins>
<pluginManagement>