Skip to content

texera-web fails to start after Hadoop 3.4.3 upgrade: NoClassDefFoundError from pjfanning jersey-json #6204

Closed

Description

@Yicong-Huang

What happened?

After #6201 (Hadoop 3.4.3 upgrade), texera-web crashes during Dropwizard startup with NoClassDefFoundError: com/sun/jersey/core/provider/jaxb/AbstractRootElementProvider. Hadoop 3.4 replaced com.sun.jersey:jersey-json with the fork com.github.pjfanning:jersey-json, which the existing ExclusionRule(organization = "com.sun.jersey") rules in common/workflow-core/build.sbt and amber/build.sbt do not catch. Its META-INF/services entries register Jersey 1 providers whose superclasses live in the (excluded) jersey-core 1.x, so Jersey 2's ServiceFinder dies loading them. Expected: the service boots. Fix: also exclude com.github.pjfanning from the hadoop dependencies (jersey-json only serves hadoop's own web endpoints; Iceberg/HDFS paths don't need it).

How to reproduce?

On main, start texera-web (e.g. bin/local-dev.sh up texera-web); it exits during Jetty startup.

Version/Branch

1.3.0-incubating-SNAPSHOT (main)

Commit Hash (Optional)

1094a65

What browsers are you seeing the problem on?

No response

Relevant log output

java.lang.NoClassDefFoundError: com/sun/jersey/core/provider/jaxb/AbstractRootElementProvider
	at org.glassfish.jersey.internal.ServiceFinder$AbstractLazyIterator.hasNext(ServiceFinder.java:577)
	...
	at org.apache.texera.web.TexeraWebApplication$.main(TexeraWebApplication.scala:77)
Caused by: java.lang.ClassNotFoundException: com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions