From 3de0dc589d120df94abd5ffa63f712357a90e64d Mon Sep 17 00:00:00 2001 From: Calvin Kirs Date: Wed, 20 Nov 2024 13:28:48 +0800 Subject: [PATCH] [Fix](log)To avoid SLF4J multiple binding issues and unnecessary dependency propagation. (#44310) ### What problem does this PR solve? ``` 2024-11-20 10:50:42,967 ERROR (main|1) [Util.report():128] SLF4J: Class path contains multiple SLF4J bindings. 2024-11-20 10:50:42,968 ERROR (main|1) [Util.report():128] SLF4J: Found binding in [jar:file:/Users/calvinkirs/.m2/repository/org/slf4j/slf4j-reload4j/1.7.36/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class] 2024-11-20 10:50:42,969 ERROR (main|1) [Util.report():128] SLF4J: Found binding in [jar:file:/Users/calvinkirs/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.18.0/log4j-slf4j-impl-2.18.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] 2024-11-20 10:50:42,969 ERROR (main|1) [Util.report():128] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 2024-11-20 10:50:42,993 ERROR (main|1) [Util.report():128] SLF4J: Actual binding is of type [org.slf4j.impl.Reload4jLoggerFactory] ``` SLF4J requires only one binding implementatio to be present at runtime. By setting the scope of other bindings, such as slf4j-reload4j, to test, we ensure that only the explicitly specified binding, like log4j-slf4j-impl, is used in the production environment, preventing runtime conflicts. **hadoop-auth** introduces **slf4j-reload4j** --- fe/pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fe/pom.xml b/fe/pom.xml index d78cfd50b819b4..d1fed9fc7602f9 100644 --- a/fe/pom.xml +++ b/fe/pom.xml @@ -857,6 +857,15 @@ under the License. json-simple ${json-simple.version} + + + org.slf4j + slf4j-reload4j + test + org.junit.jupiter