This is an automated email from the ASF dual-hosted git repository.

zaynt4606 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/celeborn.git


The following commit(s) were added to refs/heads/main by this push:
     new ad5b99f248 [CELEBORN-2473] Do not relocate zstd-jni in the Tez shaded 
jar
ad5b99f248 is described below

commit ad5b99f24808e89f9273e33ce79f7b9b8df30d32
Author: senthh <[email protected]>
AuthorDate: Mon Oct 12 11:34:11 2026 +0800

    [CELEBORN-2473] Do not relocate zstd-jni in the Tez shaded jar
    
    ## [CELEBORN-2473] Do not relocate zstd-jni in the Tez shaded jar
    
    **Problem:** the Maven shade plugin in `client-tez/tez-shaded/pom.xml` and 
the sbt assembly rules in `project/CelebornBuild.scala` relocate 
`com.github.luben` (zstd-jni) to the shading prefix. zstd-jni is a JNI library 
whose bundled native `.so`/`.dll` exports symbols using the original package 
names (e.g. `Java_com_github_luben_zstd_Zstd_compressBound`). After relocation 
the JVM binds those symbols from the remapped class names, so the native load 
fails with `UnsatisfiedLinkError`/`N [...]
    
    **Fix:** keep zstd-jni bundled (it stays in the `artifactSet` includes) but 
**stop relocating** `com.github.luben`. This matches `client-mr/mr-shaded`, 
which already bundles zstd-jni without remapping it. (Spark/Flink shaded 
clients don't bundle zstd-jni at all — those engines ship their own — so 
`mr-shaded` is the direct precedent.)
    
    **Files:**
    - `client-tez/tez-shaded/pom.xml` (−4)
    - `project/CelebornBuild.scala` (−1)
    
    **Validation:** pom remains well-formed XML; zstd-jni still present in the 
artifact set. cf. HADOOP-17891 / HBASE-23007: never relocate JNI libraries.
    
    Closes #3865 from senthh/CELEBORN-2473.
    
    Authored-by: senthh <[email protected]>
    Signed-off-by: zhengtao <[email protected]>
    
    AI-Contributed/Feature: 0/5
    AI-Contributed/UT: 0/0
---
 client-tez/tez-shaded/pom.xml | 4 ----
 project/CelebornBuild.scala   | 1 -
 2 files changed, 5 deletions(-)

diff --git a/client-tez/tez-shaded/pom.xml b/client-tez/tez-shaded/pom.xml
index 73bb78371a..f73f9f4b7a 100644
--- a/client-tez/tez-shaded/pom.xml
+++ b/client-tez/tez-shaded/pom.xml
@@ -78,10 +78,6 @@
               <pattern>com.codahale.metrics</pattern>
               
<shadedPattern>${shading.prefix}.com.codahale.metrics</shadedPattern>
             </relocation>
-            <relocation>
-              <pattern>com.github.luben</pattern>
-              <shadedPattern>${shading.prefix}.com.github.luben</shadedPattern>
-            </relocation>
           </relocations>
           <artifactSet>
             <includes>
diff --git a/project/CelebornBuild.scala b/project/CelebornBuild.scala
index 1a00e98626..cfaba0ec51 100644
--- a/project/CelebornBuild.scala
+++ b/project/CelebornBuild.scala
@@ -1983,7 +1983,6 @@ object TezClientProjects {
           ShadeRule.rename("org.roaringbitmap.**" -> 
"org.apache.celeborn.shaded.org.roaringbitmap.@1").inAll,
           ShadeRule.rename("io.dropwizard.metrics.**" -> 
"org.apache.celeborn.shaded.io.dropwizard.metrics.@1").inAll,
           ShadeRule.rename("com.codahale.metrics.**" -> 
"org.apache.celeborn.shaded.com.codahale.metrics.@1").inAll,
-          ShadeRule.rename("com.github.luben.**" -> 
"org.apache.celeborn.shaded.com.github.luben.@1").inAll,
         ),
 
         (assembly / assemblyMergeStrategy) := {

Reply via email to