Github user mccheah commented on the pull request:
https://github.com/apache/spark/pull/9615#issuecomment-155980375
We're seeing that exception handling has changed between Jersey 01 and
Jersey 02. In our application, we are including both Jersey 2 and
javax.ws.rs-api-2.0.1.jar on the driver and executor classpath.
I simplified it to a Spark shell session:
```
bin/spark-shell --master spark://mcheah-mbp:7077 --jars
/Users/mcheah/Downloads/jersey-common-2.19.jar,/Users/mcheah/Downloads/javax.ws.rs-api-2.0.1.jar
scala> new javax.ws.rs.NotFoundException()
java.lang.NoSuchMethodError:
javax.ws.rs.ClientErrorException.validate(Ljavax/ws/rs/core/Response;Ljavax/ws/rs/core/Response$Status$Family;)Ljavax/ws/rs/core/Response;
at javax.ws.rs.ClientErrorException.<init>(ClientErrorException.java:64)
at javax.ws.rs.NotFoundException.<init>(NotFoundException.java:60)
```
We have other examples as well where similar errors are happening. I think
in this case, ```javax.ws.rs.NotFoundException``` extends a class that is being
loaded from the Jersey 1 jar, but the class in the Jersey 1 jar isn't
compatible with what ```javax.ws.rs-api.2.0.1```'s equivalent class is.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]