[ 
https://issues.apache.org/jira/browse/HUDI-4810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexey Kudinkin updated HUDI-4810:
----------------------------------
    Sprint: 2022/09/05

> Fix Hudi bundles requiring log4j2 on the classpath
> --------------------------------------------------
>
>                 Key: HUDI-4810
>                 URL: https://issues.apache.org/jira/browse/HUDI-4810
>             Project: Apache Hudi
>          Issue Type: Bug
>            Reporter: Alexey Kudinkin
>            Assignee: Alexey Kudinkin
>            Priority: Blocker
>             Fix For: 0.12.1
>
>
> As part of addressing HUDI-4441, we've erroneously rebased Hudi onto 
> "log4j-1.2-api" module under impression that it's an API module (as 
> advertised) which turned out not to be the case: it's actual bridge 
> implementation, requiring Log4j2 be provided on the classpath as required 
> dependency.
> For version of Spark < 3.3 this triggers exceptions like the following one 
> (reported by [~akmodi])
>  
> {code:java}
> Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/logging/log4j/LogManager    at 
> org.apache.hudi.metrics.datadog.DatadogReporter.<clinit>(DatadogReporter.java:55)
>     at 
> org.apache.hudi.metrics.datadog.DatadogMetricsReporter.<init>(DatadogMetricsReporter.java:62)
>     at 
> org.apache.hudi.metrics.MetricsReporterFactory.createReporter(MetricsReporterFactory.java:70)
>     at org.apache.hudi.metrics.Metrics.<init>(Metrics.java:50)    at 
> org.apache.hudi.metrics.Metrics.init(Metrics.java:96)    at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamerMetrics.<init>(HoodieDeltaStreamerMetrics.java:44)
>     at 
> org.apache.hudi.utilities.deltastreamer.DeltaSync.<init>(DeltaSync.java:243)  
>   at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer$DeltaSyncService.<init>(HoodieDeltaStreamer.java:663)
>     at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.<init>(HoodieDeltaStreamer.java:143)
>     at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.<init>(HoodieDeltaStreamer.java:116)
>     at 
> org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.main(HoodieDeltaStreamer.java:562)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
>    at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:498)    at 
> org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)  
>   at 
> org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:1000)
>     at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180) 
>    at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203)    at 
> org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90)    at 
> org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1089)  
>   at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1098)    at 
> org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)Caused by: 
> java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager    at 
> java.net.URLClassLoader.findClass(URLClassLoader.java:387)    at 
> java.lang.ClassLoader.loadClass(ClassLoader.java:418)    at 
> java.lang.ClassLoader.loadClass(ClassLoader.java:351)    ... 23 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to