This is an automated email from the ASF dual-hosted git repository. SteNicholas pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/celeborn.git
commit 9e6f93e170f1c115342b0893210f688c8e3cb9d0 Author: Cheng Pan <[email protected]> AuthorDate: Tue May 26 20:14:54 2026 +0800 [CELEBORN-2337] Celeborn OpenAPI client should not shade slf4j-api ### What changes were proposed in this pull request? As the title, it's a packaging change. ### Why are the changes needed? I found that `celeborn-cli` always prints such warnings, but actually the slf4j-api and log4j2 jars are correctly present in classpath. ``` SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. ``` after some investigation, I found that `celeborn-openapi-client-*.jar` bundles shaded slf4j classes, which causes the issue. ``` $ jar tf $CELEBORN_HOME/cli-jars/celeborn-openapi-client-*.jar | grep slf4j ... org/apache/celeborn/shaded/org/slf4j/ org/apache/celeborn/shaded/org/slf4j/ILoggerFactory.class org/apache/celeborn/shaded/org/slf4j/IMarkerFactory.class org/apache/celeborn/shaded/org/slf4j/Logger.class ... ``` ### Does this PR resolve a correctness bug? - [ ] Yes ### Does this PR introduce _any_ user-facing change? - [ ] Yes ### How was this patch tested? Tested with `celeborn-cli`, `SLF4J` binding warnings have gone. Closes #3701 from pan3793/CELEBORN-2337. Authored-by: Cheng Pan <[email protected]> Signed-off-by: SteNicholas <[email protected]> --- openapi/openapi-client/pom.xml | 5 ----- project/CelebornBuild.scala | 6 ++---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/openapi/openapi-client/pom.xml b/openapi/openapi-client/pom.xml index 29c080129..d761bcd35 100644 --- a/openapi/openapi-client/pom.xml +++ b/openapi/openapi-client/pom.xml @@ -115,10 +115,6 @@ <pattern>org.apache.hc</pattern> <shadedPattern>${shading.prefix}.org.apache.hc</shadedPattern> </relocation> - <relocation> - <pattern>org.slf4j</pattern> - <shadedPattern>${shading.prefix}.org.slf4j</shadedPattern> - </relocation> <relocation> <pattern>META-INF/versions/11/com/fasterxml/jackson</pattern> <shadedPattern>META-INF/versions/11/org/apache/celeborn/shaded/com/fasterxml/jackson</shadedPattern> @@ -144,7 +140,6 @@ <include>com.google.code.findbugs:jsr305</include> <include>jakarta.annotation:jakarta.annotation-api</include> <include>org.openapitools:jackson-databind-nullable</include> - <include>org.slf4j:slf4j-api</include> </includes> </artifactSet> <filters> diff --git a/project/CelebornBuild.scala b/project/CelebornBuild.scala index bcbd9d60a..e369ef80e 100644 --- a/project/CelebornBuild.scala +++ b/project/CelebornBuild.scala @@ -1802,8 +1802,7 @@ object CelebornOpenApi { name.startsWith("httpclient5-") || name.startsWith("httpcore5-") || name.startsWith("httpcore5-h2-") || - name.startsWith("jackson-databind-nullable-") || - name.startsWith("slf4j-api-")) + name.startsWith("jackson-databind-nullable-")) } }, @@ -1814,8 +1813,7 @@ object CelebornOpenApi { ShadeRule.rename("jakarta.validation.**" -> "org.apache.celeborn.shaded.jakarta.validation.@1").inAll, ShadeRule.rename("javax.validation.**" -> "org.apache.celeborn.shaded.javax.validation.@1").inAll, ShadeRule.rename("javax.ws.rs.ext.**" -> "org.apache.celeborn.shaded.javax.ws.rs.ext.@1").inAll, - ShadeRule.rename("org.apache.hc.**" -> "org.apache.celeborn.shaded.org.apache.hc.@1").inAll, - ShadeRule.rename("org.slf4j.**" -> "org.apache.celeborn.shaded.org.slf4j.@1").inAll + ShadeRule.rename("org.apache.hc.**" -> "org.apache.celeborn.shaded.org.apache.hc.@1").inAll ), (assembly / assemblyMergeStrategy) := {
