From 0fde9897f81b607863e3924dda37d4d79d964f09 Mon Sep 17 00:00:00 2001 From: XiChen <32928346+xichen01@users.noreply.github.com> Date: Tue, 4 Mar 2025 11:19:51 +0800 Subject: [PATCH 01/10] HDDS-12462. Shade third dependency for ozone client release package --- hadoop-ozone/ozonefs-shaded/pom.xml | 81 +++++++++++++++++++---------- 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index 5db55f359da3..be4e832312b8 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -102,6 +102,21 @@ package ${maven.shade.skip} + + + + org.xerial.snappy:* + + + + + *:* + + + android/** + + + @@ -120,38 +135,48 @@ org ${shaded.prefix}.org - - org.yaml.**.* - org.sqlite.**.* - org.tukaani.**.* - org.bouncycastle.**.* - org.rocksdb.**.* - org.apache.commons.cli.**.* - org.apache.commons.compress.**.* - org.apache.commons.codec.**.* - org.apache.commons.beanutils.**.* - org.apache.commons.collections.**.* - org.apache.commons.digester.**.* - org.apache.commons.io.**.* - org.apache.commons.logging.**.* - org.apache.commons.validator.**.* - org.apache.commons.lang3.**.* - org.sqlite.**.* - org.apache.thrift.**.* - + + org.apache.commons.logging.** + org.apache.hadoop.** + org.apache.log4j.** + org.apache.ozone.** + org.apache.ratis.** + org.bouncycastle.** + org.hadoop.ozone.** + org.ietf.jgss.* + org.junit.** + org.omg.** + org.slf4j.** + org.w3c.dom.** + org.xerial.snappy.** + org.xml.sax.** + **.pom.xml + com ${shaded.prefix}.com - - com.google.common.**.* - com.google.gson.**.* - com.codahale.**.* - com.fasterxml.**.* - com.lmax.**.* - com.github.joshelser.**.* - com.twitter.**.* - + + com.google.protobuf.** + com.sun.javadoc.** + com.sun.jndi.** + com.sun.management.** + com.sun.security.** + com.sun.tools.** + **.pom.xml + + + + google + ${shaded.prefix}.google + + + net.jcip + ${shaded.prefix}.net.jcip + + + javassist + ${shaded.prefix}.javassist kotlin From 1eadebf0134c2212b6cd882e976b505d7ea690c2 Mon Sep 17 00:00:00 2001 From: XiChen <32928346+xichen01@users.noreply.github.com> Date: Thu, 6 Mar 2025 00:09:23 +0800 Subject: [PATCH 02/10] remove org.hadoop.ozone from org exclude --- hadoop-ozone/ozonefs-shaded/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index be4e832312b8..574bc87a851d 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -142,7 +142,6 @@ org.apache.ozone.** org.apache.ratis.** org.bouncycastle.** - org.hadoop.ozone.** org.ietf.jgss.* org.junit.** org.omg.** From 696ecb386e34274712be120262c65bb3e782bb29 Mon Sep 17 00:00:00 2001 From: XiChen <32928346+xichen01@users.noreply.github.com> Date: Thu, 6 Mar 2025 00:38:06 +0800 Subject: [PATCH 03/10] make shade package include org.xerial.snappy --- hadoop-ozone/ozonefs-shaded/pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index 574bc87a851d..4ddfa0bdbc1b 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -102,12 +102,6 @@ package ${maven.shade.skip} - - - - org.xerial.snappy:* - - *:* From 520031e4958fdcaaade8bf003ac3e8529cbe35b1 Mon Sep 17 00:00:00 2001 From: user <32928346+xichen01@users.noreply.github.com> Date: Fri, 7 Mar 2025 16:01:08 +0800 Subject: [PATCH 04/10] Shade all the class which JVM or Hadoop can provide --- hadoop-ozone/ozonefs-shaded/pom.xml | 60 ++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 5 deletions(-) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index 4ddfa0bdbc1b..dd863832103f 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -75,6 +75,10 @@ org.apache.logging.log4j * + + org.junit + * + org.slf4j * @@ -102,12 +106,31 @@ package ${maven.shade.skip} + + + com.sun.javadoc:* + com.sun.jndi:* + com.sun.management:* + com.sun.security:* + com.sun.tools:* + org.bouncycastle:* + org.ietf.jgss:* + org.omg:* + org.w3c.dom:* + org.xerial.snappy:* + org.xml.sax:* + + *:* android/** + + javax/annotation/** + mozilla/public-suffix-list.txt @@ -130,20 +153,20 @@ org ${shaded.prefix}.org - org.apache.commons.logging.** org.apache.hadoop.** org.apache.log4j.** org.apache.ozone.** - org.apache.ratis.** + org.bouncycastle.** org.ietf.jgss.* - org.junit.** org.omg.** org.slf4j.** org.w3c.dom.** org.xerial.snappy.** org.xml.sax.** - **.pom.xml + org.wildfly.** @@ -151,12 +174,15 @@ ${shaded.prefix}.com com.google.protobuf.** + com.sun.javadoc.** com.sun.jndi.** com.sun.management.** com.sun.security.** com.sun.tools.** - **.pom.xml + com.ibm.security.** @@ -171,6 +197,18 @@ javassist ${shaded.prefix}.javassist + + javax.xml.bind + ${shaded.prefix}.javax.xml.bind + + + javax.activation + ${shaded.prefix}.javax.activation + + + jakarta.annotation + ${shaded.prefix}.jakarta.annotation + kotlin ${shaded.prefix}.kotlin @@ -188,6 +226,18 @@ ${shaded.prefix}.io io!netty!* + + + io.compression.** + io.file.buffer.size + io.mapfile.** + io.map.index + io.seqfile.** + io.serializations + io.skip.checksum.errors + io.sort.** From 1e45f38c14e9bc65cfbfdda49f16dc791ed2b7ea Mon Sep 17 00:00:00 2001 From: user <32928346+xichen01@users.noreply.github.com> Date: Fri, 7 Mar 2025 19:59:24 +0800 Subject: [PATCH 05/10] Fix test --- hadoop-ozone/ozonefs-shaded/pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index dd863832103f..5ceacdd8c1f9 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -156,6 +156,7 @@ org.apache.hadoop.** org.apache.log4j.** org.apache.ozone.** + org.apache.ratis.** @@ -169,6 +170,10 @@ org.wildfly.** + + org.apache.ratis + ${shaded.prefix}.org.apache.ratis + com ${shaded.prefix}.com From efe5471dec0a5a351f258f79ee481c77fb0957e2 Mon Sep 17 00:00:00 2001 From: user <32928346+xichen01@users.noreply.github.com> Date: Sat, 8 Mar 2025 02:18:50 +0800 Subject: [PATCH 06/10] Fix test --- hadoop-ozone/ozonefs-shaded/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index 5ceacdd8c1f9..bbb5378aaee6 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -113,7 +113,6 @@ com.sun.management:* com.sun.security:* com.sun.tools:* - org.bouncycastle:* org.ietf.jgss:* org.omg:* org.w3c.dom:* @@ -160,7 +159,6 @@ - org.bouncycastle.** org.ietf.jgss.* org.omg.** org.slf4j.** From 892df45466070eb5af94c95f56daa5bbb0aea7f5 Mon Sep 17 00:00:00 2001 From: user <32928346+xichen01@users.noreply.github.com> Date: Sat, 8 Mar 2025 20:37:48 +0800 Subject: [PATCH 07/10] Fix test --- hadoop-ozone/ozonefs-shaded/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index bbb5378aaee6..0924655cec15 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -171,6 +171,10 @@ org.apache.ratis ${shaded.prefix}.org.apache.ratis + + + org.apache.ratis.thirdparty.io.netty.** + com From 90361b04b60b0ed88c8a3dcb4850f6e419841438 Mon Sep 17 00:00:00 2001 From: user <32928346+xichen01@users.noreply.github.com> Date: Sat, 15 Mar 2025 01:37:15 +0800 Subject: [PATCH 08/10] shade netty native libraries --- hadoop-ozone/ozonefs-shaded/pom.xml | 133 ++++++++++++++++++++++++++-- pom.xml | 1 + 2 files changed, 129 insertions(+), 5 deletions(-) diff --git a/hadoop-ozone/ozonefs-shaded/pom.xml b/hadoop-ozone/ozonefs-shaded/pom.xml index 0924655cec15..6a4be085c528 100644 --- a/hadoop-ozone/ozonefs-shaded/pom.xml +++ b/hadoop-ozone/ozonefs-shaded/pom.xml @@ -27,6 +27,9 @@ true + org_apache_hadoop_ozone_shaded + + org_apache_ratis_thirdparty_ org.apache.hadoop.ozone.shaded @@ -35,6 +38,30 @@ com.google.protobuf protobuf-java + + io.netty + netty-resolver-dns-native-macos + osx-x86_64 + + + io.netty + netty-tcnative-boringssl-static + + + io.netty + netty-transport-native-epoll + linux-aarch_64 + + + io.netty + netty-transport-native-epoll + linux-x86_64 + + + io.netty + netty-transport-native-kqueue + osx-x86_64 + org.apache.ozone ozone-filesystem-common @@ -129,7 +156,26 @@ javax/annotation/** - mozilla/public-suffix-list.txt + + META-INF/native/liborg_apache_ratis_thirdparty_netty_resolver_dns_native_macos_x86_64.jnilib + META-INF/native/liborg_apache_ratis_thirdparty_netty_tcnative_linux_aarch_64.so + META-INF/native/liborg_apache_ratis_thirdparty_netty_tcnative_linux_x86_64.so + META-INF/native/liborg_apache_ratis_thirdparty_netty_tcnative_osx_aarch_64.jnilib + META-INF/native/liborg_apache_ratis_thirdparty_netty_tcnative_osx_x86_64.jnilib + META-INF/native/liborg_apache_ratis_thirdparty_netty_transport_native_epoll_aarch_64.so + META-INF/native/liborg_apache_ratis_thirdparty_netty_transport_native_epoll_x86_64.so + META-INF/native/liborg_apache_ratis_thirdparty_netty_transport_native_kqueue_x86_64.jnilib + META-INF/native/org_apache_ratis_thirdparty_netty_tcnative_windows_x86_64.dll + + META-INF/native/libnetty_resolver_dns_native_macos_x86_64.jnilib + META-INF/native/libnetty_tcnative_linux_aarch_64.so + META-INF/native/libnetty_tcnative_linux_x86_64.so + META-INF/native/libnetty_tcnative_osx_aarch_64.jnilib + META-INF/native/libnetty_tcnative_osx_x86_64.jnilib + META-INF/native/libnetty_transport_native_epoll_aarch_64.so + META-INF/native/libnetty_transport_native_epoll_x86_64.so + META-INF/native/libnetty_transport_native_kqueue_x86_64.jnilib + META-INF/native/netty_tcnative_windows_x86_64.dll @@ -171,10 +217,6 @@ org.apache.ratis ${shaded.prefix}.org.apache.ratis - - - org.apache.ratis.thirdparty.io.netty.** - com @@ -262,6 +304,87 @@ + + org.apache.maven.plugins + maven-dependency-plugin + ${maven-dependency-plugin.version} + + + unpack-dependencies + + unpack-dependencies + + validate + + io.netty + **/META-INF/native/* + netty-resolver-dns-native-macos, + netty-tcnative-boringssl-static, + netty-transport-native-epoll, + netty-transport-native-kqueue + ${project.build.directory}/classes/ + true + true + + + + + + + + com.coderplus.maven.plugins + copy-rename-maven-plugin + ${copy-rename-maven-plugin.version} + + + rename-file + + rename + + generate-sources + + + + ${project.build.directory}/classes/META-INF/native/libnetty_resolver_dns_native_macos_x86_64.jnilib + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_resolver_dns_native_macos_x86_64.jnilib + + + ${project.build.directory}/classes/META-INF/native/libnetty_transport_native_epoll_aarch_64.so + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_transport_native_epoll_aarch_64.so + + + ${project.build.directory}/classes/META-INF/native/libnetty_transport_native_epoll_x86_64.so + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_transport_native_epoll_x86_64.so + + + ${project.build.directory}/classes/META-INF/native/libnetty_transport_native_kqueue_x86_64.jnilib + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_transport_native_kqueue_x86_64.jnilib + + + ${project.build.directory}/classes/META-INF/native/libnetty_tcnative_linux_aarch_64.so + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_tcnative_linux_aarch_64.so + + + ${project.build.directory}/classes/META-INF/native/libnetty_tcnative_linux_x86_64.so + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_tcnative_linux_x86_64.so + + + ${project.build.directory}/classes/META-INF/native/libnetty_tcnative_osx_aarch_64.jnilib + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_tcnative_osx_aarch_64.jnilib + + + ${project.build.directory}/classes/META-INF/native/libnetty_tcnative_osx_x86_64.jnilib + ${project.build.directory}/classes/META-INF/native/lib${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}libnetty_tcnative_osx_x86_64.jnilib + + + ${project.build.directory}/classes/META-INF/native/netty_tcnative_windows_x86_64.dll + ${project.build.directory}/classes/META-INF/native/${ozone.shaded.native.prefix}_${ratis.thirdparty.shaded.native.prefix}netty_tcnative_windows_x86_64.dll + + + + + + diff --git a/pom.xml b/pom.xml index e91207b02879..192e3340ed22 100644 --- a/pom.xml +++ b/pom.xml @@ -61,6 +61,7 @@ 1.12.0 1.6 0.21.0 + 1.0 4.2.0 2.9.1 true - org_apache_hadoop_ozone_shaded + org_apache_ozone_shaded org_apache_ratis_thirdparty_ - org.apache.hadoop.ozone.shaded + org.apache.ozone.shaded