Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
1.4.1
Description
log4j is initialized before spark class loader is set on the thread context.
Therefore it cannot use classes embedded in fat-jars submitted to spark.
While parsing arguments, spark calls methods on Utils class and triggers ShutdownHookManager static initialization. This then leads to log4j being initialized before spark gets the chance to specify custom class MutableURLClassLoader on the thread context.
See detailed explanation here:
http://apache-spark-user-list.1001560.n3.nabble.com/log4j-custom-appender-ClassNotFoundException-with-spark-1-4-1-tt24159.html