Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
1.7.25, 1.8.0-beta2
-
None
-
All
Description
In the process of updating hadoop libraries in Apache Drill project I faced the following issue:
java.lang.NoClassDefFoundError: org/apache/commons/logging/impl/Log4JLogger.
hadoop-hdfs uses commons-logging library, but Drill uses jcl-over-slf4j and bans commons-logging.
https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/common/MetricsLoggerTask.java#L152
Looks like the presence of Log4JLogger class in org.apache.commons.logging.impl of jcl-over-slf4j could resolve the issue.
https://github.com/qos-ch/slf4j/tree/master/jcl-over-slf4j/src/main/java/org/apache/commons/logging/impl