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 <2701446+xushi...@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>