diff --git a/hadoop-client-modules/hadoop-client-minicluster/pom.xml b/hadoop-client-modules/hadoop-client-minicluster/pom.xml
index 208345d5f5a53..3e18dc421bd02 100644
--- a/hadoop-client-modules/hadoop-client-minicluster/pom.xml
+++ b/hadoop-client-modules/hadoop-client-minicluster/pom.xml
@@ -406,69 +406,6 @@
-
- com.sun.jersey
- jersey-core
- true
-
-
- javax.ws.rs
- jsr311-api
-
-
-
-
- com.sun.jersey
- jersey-client
- true
-
-
- com.github.pjfanning
- jersey-json
- true
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
-
-
- javax.xml.bind
- jaxb-api
-
-
-
-
- com.sun.jersey
- jersey-server
- true
-
-
- com.sun.jersey
- jersey-servlet
- true
-
-
- javax.servlet
- servlet-api
-
-
- javax.enterprise
- cdi-api
-
-
- ch.qos.cal10n
- cal10n-api
-
-
-
net.sf.kosmosfs
@@ -611,24 +548,6 @@
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-grizzly2
- true
-
-
-
- org.glassfish
- javax.servlet
-
-
-
-
-
- com.sun.jersey.contribs
- jersey-guice
- true
-
diff --git a/hadoop-common-project/hadoop-common/pom.xml b/hadoop-common-project/hadoop-common/pom.xml
index 41707f5002414..c11210282797e 100644
--- a/hadoop-common-project/hadoop-common/pom.xml
+++ b/hadoop-common-project/hadoop-common/pom.xml
@@ -132,49 +132,6 @@
jsp-api
runtime
-
- com.sun.jersey
- jersey-core
- compile
-
-
- com.sun.jersey
- jersey-servlet
- compile
-
-
- javax.enterprise
- cdi-api
-
-
- javax.servlet
- servlet-api
-
-
- ch.qos.cal10n
- cal10n-api
-
-
-
-
- com.github.pjfanning
- jersey-json
- compile
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
-
-
-
- 1.19.4
+ 2.39.1
- 2.12.7
- 2.12.7.1
+ 2.15.2
+ 2.15.2
+
+
+ 2.1.1
4.5.13
@@ -828,8 +831,13 @@
javax.ws.rs
- jsr311-api
- 1.1.1
+ javax.ws.rs-api
+ ${javax.ws.rs-api.version}
+
+
+ net.jodah
+ failsafe
+ 2.4.4
org.eclipse.jetty
@@ -915,46 +923,57 @@
43.0
- com.sun.jersey
- jersey-core
- ${jersey.version}
-
-
- org.osgi
- org.osgi.core
-
-
+ org.glassfish.jersey.core
+ jersey-common
+ ${jersey2.version}
- com.sun.jersey
- jersey-servlet
- ${jersey.version}
+ org.glassfish.jersey.core
+ jersey-server
+ ${jersey2.version}
- com.github.pjfanning
- jersey-json
- 1.20
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
-
-
+ org.glassfish.jersey.core
+ jersey-client
+ ${jersey2.version}
- com.sun.jersey
- jersey-server
- ${jersey.version}
+ org.glassfish.jersey.containers
+ jersey-container-servlet-core
+ ${jersey2.version}
+
+
+ org.glassfish.jersey.inject
+ jersey-hk2
+ ${jersey2.version}
+
+
+ org.glassfish.jersey.media
+ jersey-media-json-jackson
+ ${jersey2.version}
+
+
+ org.glassfish.jersey.media
+ jersey-media-json-jettison
+ ${jersey2.version}
+
+
+ org.glassfish.jersey.test-framework
+ jersey-test-framework-core
+ ${jersey2.version}
+
+
+ org.glassfish.jersey.test-framework.providers
+ jersey-test-framework-provider-grizzly2
+ ${jersey2.version}
+
+
+ org.glassfish.hk2
+ guice-bridge
+ 2.6.1
+
com.google.inject
guice
@@ -973,36 +992,6 @@
${guice.version}
-
- com.sun.jersey.contribs
- jersey-guice
- ${jersey.version}
-
-
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-core
- ${jersey.version}
- test
-
-
- javax.servlet
- javax.servlet-api
-
-
-
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-grizzly2
- ${jersey.version}
-
-
- javax.servlet
- javax.servlet-api
-
-
-
-
io.netty
netty-all
@@ -1528,11 +1517,6 @@
-
- com.sun.jersey
- jersey-client
- ${jersey.version}
-
${leveldbjni.group}
@@ -1906,6 +1890,10 @@
org.osgi
org.osgi.core
+
+ javax.ws.rs
+ jsr311-api
+
diff --git a/hadoop-tools/hadoop-azure/pom.xml b/hadoop-tools/hadoop-azure/pom.xml
index e8c5fb78efd8d..f5964e312f88d 100644
--- a/hadoop-tools/hadoop-azure/pom.xml
+++ b/hadoop-tools/hadoop-azure/pom.xml
@@ -312,12 +312,6 @@
test
-
- javax.ws.rs
- jsr311-api
- test
-
-
org.mockito
mockito-core
diff --git a/hadoop-tools/hadoop-resourceestimator/pom.xml b/hadoop-tools/hadoop-resourceestimator/pom.xml
index 89e248f9a7efe..c46d7f22f6b56 100644
--- a/hadoop-tools/hadoop-resourceestimator/pom.xml
+++ b/hadoop-tools/hadoop-resourceestimator/pom.xml
@@ -65,37 +65,10 @@
javax.inject
1
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-grizzly2
- test
-
javax.servlet
javax.servlet-api
-
- com.sun.jersey
- jersey-server
-
-
- com.github.pjfanning
- jersey-json
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
-
-
-
junit
junit
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/pom.xml
index 3acd9ce0ea888..4b5e2186e3cfe 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/pom.xml
@@ -107,25 +107,6 @@
test
-
- com.github.pjfanning
- jersey-json
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
-
-
-
-
org.apache.solr
solr-solrj
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/webapp/WEB-INF/web.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/webapp/WEB-INF/web.xml
index d9b17ae590543..47b59d707cd43 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/webapp/WEB-INF/web.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/webapp/WEB-INF/web.xml
@@ -74,15 +74,11 @@
REST_API
- com.sun.jersey.spi.container.servlet.ServletContainer
+ org.glassfish.jersey.servlet.ServletContainer
- com.sun.jersey.config.property.packages
+ jersey.config.server.provider.packages
org.apache.hadoop.yarn.appcatalog.controller;com.wordnik.swagger.jaxrs.listing;com.wordnik.swagger.jaxrs.json
-
- com.sun.jersey.api.json.POJOMappingFeature
- true
-
1
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/pom.xml
index dbe0c69d5508b..c3ae8f5a0853e 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/pom.xml
@@ -131,10 +131,6 @@
com.google.inject
guice
-
- javax.ws.rs
- jsr311-api
-
javax.servlet
javax.servlet-api
@@ -155,10 +151,6 @@
org.apache.hadoop.thirdparty
hadoop-shaded-guava
-
- com.sun.jersey
- jersey-client
-
org.eclipse.jetty
jetty-server
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/src/main/webapp/WEB-INF/web.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/src/main/webapp/WEB-INF/web.xml
index 1282c9f863565..9be06d1724613 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/src/main/webapp/WEB-INF/web.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-api/src/main/webapp/WEB-INF/web.xml
@@ -18,15 +18,11 @@
Jersey REST API
- com.sun.jersey.spi.container.servlet.ServletContainer
+ org.glassfish.jersey.servlet.ServletContainer
- com.sun.jersey.config.property.packages
+ jersey.config.server.provider.packages
org.apache.hadoop.yarn.service.webapp,org.apache.hadoop.yarn.service.api,org.apache.hadoop.yarn.service.api.records
-
- com.sun.jersey.api.json.POJOMappingFeature
- true
-
1
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml
index dbe4e9048b2df..afee12241ff1a 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/pom.xml
@@ -84,16 +84,6 @@
mockito-core
test
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-core
- test
-
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-grizzly2
- test
-
org.apache.hadoop
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/pom.xml
index 9b4f4fd47bf95..1f2e34f0c15c8 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/pom.xml
@@ -76,14 +76,6 @@
org.eclipse.jetty
jetty-util
-
- com.sun.jersey
- jersey-core
-
-
- com.sun.jersey
- jersey-client
-
org.apache.hadoop.thirdparty
hadoop-shaded-guava
@@ -158,48 +150,17 @@
junit-platform-launcher
test
-
- com.sun.jersey.jersey-test-framework
- jersey-test-framework-grizzly2
- test
-
commons-io
commons-io
- com.google.inject
- guice
-
-
- com.sun.jersey
- jersey-server
+ net.jodah
+ failsafe
- com.github.pjfanning
- jersey-json
-
-
- com.fasterxml.jackson.core
- jackson-core
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.jaxrs
- jackson-jaxrs-json-provider
-
-
- org.codehaus.jettison
- jettison
-
-
-
-
- com.sun.jersey.contribs
- jersey-guice
+ com.google.inject
+ guice
log4j
@@ -221,6 +182,34 @@
com.fasterxml.jackson.jaxrs
jackson-jaxrs-json-provider
+
+ org.glassfish.jersey.test-framework
+ jersey-test-framework-core
+
+
+ org.glassfish.jersey.test-framework.providers
+ jersey-test-framework-provider-grizzly2
+
+
+ org.glassfish.hk2
+ guice-bridge
+
+
+ org.glassfish.jersey.containers
+ jersey-container-servlet-core
+
+
+ org.glassfish.jersey.inject
+ jersey-hk2
+
+
+ org.glassfish.jersey.media
+ jersey-media-json-jackson
+
+
+ org.glassfish.jersey.media
+ jersey-media-json-jettison
+
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/DirectTimelineWriter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/DirectTimelineWriter.java
index 7fea1dbcdbea5..ce0bb760835d5 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/DirectTimelineWriter.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/DirectTimelineWriter.java
@@ -21,6 +21,8 @@
import java.io.IOException;
import java.net.URI;
+import javax.ws.rs.client.Client;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.classification.InterfaceAudience.Private;
@@ -33,8 +35,6 @@
import org.apache.hadoop.yarn.api.records.timeline.TimelinePutResponse;
import org.apache.hadoop.yarn.exceptions.YarnException;
-import com.sun.jersey.api.client.Client;
-
/**
* A simple writer class for storing Timeline data into Leveldb store.
*/
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/FileSystemTimelineWriter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/FileSystemTimelineWriter.java
index b92f4e412347c..24a0854952e47 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/FileSystemTimelineWriter.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/FileSystemTimelineWriter.java
@@ -38,6 +38,8 @@
import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock;
+import javax.ws.rs.client.Client;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.classification.InterfaceAudience.Private;
@@ -67,7 +69,6 @@
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.type.TypeFactory;
import com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector;
-import com.sun.jersey.api.client.Client;
/**
* A simple writer class for storing Timeline data in any storage that
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
index 2b9ce4fa8f2ad..d519ed11e71ab 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineClientImpl.java
@@ -24,6 +24,8 @@
import java.net.URI;
import java.security.PrivilegedExceptionAction;
+import javax.ws.rs.client.Client;
+
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.HelpFormatter;
@@ -54,7 +56,6 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.hadoop.classification.VisibleForTesting;
-import com.sun.jersey.api.client.Client;
@Private
@Evolving
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
index 5a216d20d35d6..458d1bfd81413 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/client/api/impl/TimelineConnector.java
@@ -19,7 +19,6 @@
package org.apache.hadoop.yarn.client.api.impl;
import java.io.IOException;
-import java.io.InterruptedIOException;
import java.lang.reflect.UndeclaredThrowableException;
import java.net.ConnectException;
import java.net.HttpURLConnection;
@@ -30,13 +29,22 @@
import java.net.URLConnection;
import java.security.GeneralSecurityException;
import java.security.PrivilegedExceptionAction;
+import java.time.Duration;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSocketFactory;
+import javax.ws.rs.ProcessingException;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
import org.apache.hadoop.security.authentication.server.KerberosAuthenticationHandler;
import org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler;
+
+import net.jodah.failsafe.Failsafe;
+import net.jodah.failsafe.RetryPolicy;
+import org.glassfish.jersey.client.ClientConfig;
+import org.glassfish.jersey.client.HttpUrlConnectorProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.classification.InterfaceAudience.Private;
@@ -58,15 +66,6 @@
import org.apache.hadoop.classification.VisibleForTesting;
import org.apache.hadoop.thirdparty.com.google.common.base.Joiner;
import org.apache.hadoop.util.Preconditions;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientHandlerException;
-import com.sun.jersey.api.client.ClientRequest;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.config.ClientConfig;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-import com.sun.jersey.api.client.filter.ClientFilter;
-import com.sun.jersey.client.urlconnection.HttpURLConnectionFactory;
-import com.sun.jersey.client.urlconnection.URLConnectionClientHandler;
/**
* Utility Connector class which is used by timeline clients to securely get
@@ -87,9 +86,8 @@ public class TimelineConnector extends AbstractService {
private DelegationTokenAuthenticatedURL.Token token;
private UserGroupInformation authUgi;
private String doAsUser;
- @VisibleForTesting
- TimelineClientConnectionRetry connectionRetry;
private boolean requireConnectionRetry;
+ private RetryPolicy