apache / apache/hudi

DeltaStreamer fails with NoClassDefFoundError for spark-3.3.1-bin-hadoop3

Open
#15,761 0 comments 0 reactions 0 assignees View on GitHub
from-jira priority:high type:bug
Dominant language
Java
Stars
6.2k
Forks
2.5k
Avg merge
2d 8h
Merged PRs (30d)
111

Description

DeltaStreamer Spark submit job fails with the below error on hudi 0.13.0 version.
Spark : spark-3.3.1-bin-hadoop3
{code:java}
23/02/06 16:32:44 INFO SparkContext: Added JAR file:/home/hadoop/hudi-utilities-slim-bundle_2.12-0.13.0-rc2.jar at spark://ip:37391/jars/hudi-utilities-slim-bundle_2.12-0.13.0-rc2.jar with timestamp 1675701163025
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/shaded/javax/ws/rs/core/NoContentException
    at org.apache.hadoop.yarn.util.timeline.TimelineUtils.(TimelineUtils.java:60)
    at org.apache.hadoop.yarn.client.api.impl.YarnClientImpl.serviceInit(YarnClientImpl.java:200)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
    at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:191)
    at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:62)
    at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:222)
    at org.apache.spark.SparkContext.(SparkContext.scala:585)
    at org.apache.spark.api.java.JavaSparkContext.(JavaSparkContext.scala:58)
    at org.apache.hudi.utilities.UtilHelpers.buildSparkContext(UtilHelpers.java:323)
    at org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer.main(HoodieDeltaStreamer.java:566)
    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:958)
    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:1046)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1055)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.shaded.javax.ws.rs.core.NoContentException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:387)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 22 more
{code}

## JIRA info

- Link: https://issues.apache.org/jira/browse/HUDI-5712
- Type: Bug

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the DeltaStreamer Spark submit failure with Hudi 0.13.0 and spark-3.3.1-bin-hadoop3. Trace the reported path through UtilHelpers.buildSparkContext, HoodieDeltaStreamer.main, and the Hadoop YARN TimelineUtils initialization. Done means the submission no longer fails with the reported NoClassDefFoundError for org.apache.hadoop.shaded.javax.ws.rs.core.NoContentException.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
stream-processing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.