[ https://issues.apache.org/jira/browse/HADOOP-18619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17687104#comment-17687104 ]
PJ Fanning commented on HADOOP-18619: ------------------------------------- I had a quick look and getting jersey-core to work with javax rs-api is non-trivial but probably not massive. There are more methods on the interafaces in rs-api (than in jsr311-api). Apache CXF has an implementation of the affected classes and it would probably be feasible to cherry pick some of that code into a forked version of jersey-core. The idea of doing something in hadoop-thirdparty is also feasible. We could take the jersey-core, jersey-server and my existing fork of jersey-json and build a fat jar that shades all the classes and well as jsr311-api. The packages could start with org.apache.hadoop.jersey1 instead of com.sun.jersey and org.apache.hadoop.jsr311 instead of javax.ws.rs. We could then adjust hadoop code to use these classes. Some of the uptake appears in web.xml files. I do suspect that this issue I raised today on the yarn-dev mailing list will bite us with this shading approach because the swagger jaxrs jar is likely to also depend on javax.ws.rs. Modifying or removing this swagger support may reduce the complexity for this issue. https://lists.apache.org/thread/80mf4w6zopxyzp2vc777pq6f1fbt5wjq > replace jsr311-api dependency with rs-api > ----------------------------------------- > > Key: HADOOP-18619 > URL: https://issues.apache.org/jira/browse/HADOOP-18619 > Project: Hadoop Common > Issue Type: Task > Components: build, common > Reporter: PJ Fanning > Priority: Major > > [jsr311-api|https://mvnrepository.com/artifact/javax.ws.rs/jsr311-api] is > unmaintained and causes issues when jars bring in a dependency on the newer > [rs-api|https://mvnrepository.com/artifact/javax.ws.rs/javax.ws.rs-api/2.1.1] > jar - that uses the same package name but has incompatible code > To make things worse, there is now a jakarta fork of rs-api but I suggest we > worry about that later. > jersey-core 1.19.x gives us the jsr311-api dependency. > The upgrade to HADOOP-15984 is currently blocked and looks hard. > HADOOP-15983 is a workaround that allows us to keep jersey 1.x but removes > the issue where we end up relying on the unmaintained Jackson 1.9 jars. > We may now need a similar fork of jersey-core 1.19 to build a version of that > jar that uses rs-api instead of jsr311. > The main benefit here is get around the fact that jackson jaxrs 2.13+ has > dropped support for jsr311 and now only supports rs-api. (see HADOOP-18332) > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org