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