[ https://issues.apache.org/jira/browse/HUDI-4810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexey Kudinkin updated HUDI-4810: ---------------------------------- Status: Patch Available (was: In Progress) > 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 > Labels: pull-request-available > 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)