diff --git a/LICENSE-binary b/LICENSE-binary
index 4e6f688fcb896..6c8b66c78d89d 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -241,7 +241,6 @@ com.google.guava:guava:27.0-jre
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
com.microsoft.azure:azure-storage:7.0.0
com.nimbusds:nimbus-jose-jwt:9.8.1
-com.squareup.okhttp3:okhttp:4.9.3
com.squareup.okio:okio:1.6.0
com.zaxxer:HikariCP:4.0.3
commons-beanutils:commons-beanutils:1.9.3
diff --git a/hadoop-client-modules/hadoop-client/pom.xml b/hadoop-client-modules/hadoop-client/pom.xml
index 5299c9e8713df..b48a221bdf179 100644
--- a/hadoop-client-modules/hadoop-client/pom.xml
+++ b/hadoop-client-modules/hadoop-client/pom.xml
@@ -114,18 +114,6 @@
org.eclipse.jetty
jetty-server
-
- org.jetbrains.kotlin
- kotlin-stdlib
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-common
-
-
- com.squareup.okhttp3
- okhttp
-
com.sun.jersey
jersey-core
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/dev-support/findbugsExcludeFile.xml b/hadoop-hdfs-project/hadoop-hdfs-client/dev-support/findbugsExcludeFile.xml
index 508388aa4812e..c96b3a99bd1c4 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/dev-support/findbugsExcludeFile.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/dev-support/findbugsExcludeFile.xml
@@ -94,17 +94,4 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml b/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml
index 9bb0932d32867..5f07f8cbfc564 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/pom.xml
@@ -34,18 +34,6 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- com.squareup.okhttp3
- okhttp
-
-
- org.jetbrains.kotlin
- kotlin-stdlib
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-common
-
org.apache.hadoop
hadoop-common
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/ConfRefreshTokenBasedAccessTokenProvider.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/ConfRefreshTokenBasedAccessTokenProvider.java
index e944e8c1c8d77..26b4084850784 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/ConfRefreshTokenBasedAccessTokenProvider.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/ConfRefreshTokenBasedAccessTokenProvider.java
@@ -19,21 +19,28 @@
package org.apache.hadoop.hdfs.web.oauth2;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.RequestBody;
-import okhttp3.Response;
+import org.apache.commons.io.IOUtils;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hdfs.web.URLConnectionFactory;
import org.apache.hadoop.util.JsonSerialization;
import org.apache.hadoop.util.Timer;
+
+import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.entity.EntityBuilder;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.client.methods.RequestBuilder;
+import org.apache.http.entity.ContentType;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.message.BasicNameValuePair;
import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.OAUTH_CLIENT_ID_KEY;
import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.OAUTH_REFRESH_URL_KEY;
@@ -42,7 +49,6 @@
import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.EXPIRES_IN;
import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.GRANT_TYPE;
import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.REFRESH_TOKEN;
-import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.URLENCODED;
import static org.apache.hadoop.hdfs.web.oauth2.Utils.notNull;
/**
@@ -103,30 +109,35 @@ public synchronized String getAccessToken() throws IOException {
}
void refresh() throws IOException {
- OkHttpClient client =
- new OkHttpClient.Builder().connectTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT,
- TimeUnit.MILLISECONDS)
- .readTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT, TimeUnit.MILLISECONDS)
+ HttpEntity reqEntity = EntityBuilder.create()
+ .setContentType(ContentType.APPLICATION_FORM_URLENCODED.withCharset(StandardCharsets.UTF_8))
+ .setParameters(
+ new BasicNameValuePair(GRANT_TYPE, REFRESH_TOKEN),
+ new BasicNameValuePair(REFRESH_TOKEN, refreshToken),
+ new BasicNameValuePair(CLIENT_ID, clientId))
.build();
- String bodyString =
- Utils.postBody(GRANT_TYPE, REFRESH_TOKEN, REFRESH_TOKEN, refreshToken, CLIENT_ID, clientId);
+ HttpUriRequest request = RequestBuilder
+ .post(refreshURL)
+ .setEntity(reqEntity)
+ .build();
- RequestBody body = RequestBody.create(bodyString, URLENCODED);
+ RequestConfig reqConf = RequestConfig.custom()
+ .setConnectTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT)
+ .setSocketTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT)
+ .build();
- Request request = new Request.Builder().url(refreshURL).post(body).build();
- try (Response response = client.newCall(request).execute()) {
- if (!response.isSuccessful()) {
- throw new IOException("Unexpected code " + response);
- }
- if (response.code() != HttpStatus.SC_OK) {
+ HttpClientBuilder clientBuilder = HttpClientBuilder.create().setDefaultRequestConfig(reqConf);
+ try (CloseableHttpClient client = clientBuilder.build();
+ CloseableHttpResponse response = client.execute(request)) {
+ int statusCode = response.getStatusLine().getStatusCode();
+ String respText = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8);
+ if (statusCode != HttpStatus.SC_OK) {
throw new IllegalArgumentException(
- "Received invalid http response: " + response.code() + ", text = "
- + response.toString());
+ "Received invalid http response: " + statusCode + ", text = " + respText);
}
- Map, ?> responseBody = JsonSerialization.mapReader().readValue(response.body().string());
-
+ Map, ?> responseBody = JsonSerialization.mapReader().readValue(respText);
String newExpiresIn = responseBody.get(EXPIRES_IN).toString();
accessTokenTimer.setExpiresIn(newExpiresIn);
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/CredentialBasedAccessTokenProvider.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/CredentialBasedAccessTokenProvider.java
index 25ceb8846092b..41fc2fd983c77 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/CredentialBasedAccessTokenProvider.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/CredentialBasedAccessTokenProvider.java
@@ -19,21 +19,28 @@
package org.apache.hadoop.hdfs.web.oauth2;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.RequestBody;
-import okhttp3.Response;
+import org.apache.commons.io.IOUtils;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hdfs.web.URLConnectionFactory;
import org.apache.hadoop.util.JsonSerialization;
import org.apache.hadoop.util.Timer;
+
+import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.entity.EntityBuilder;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpUriRequest;
+import org.apache.http.client.methods.RequestBuilder;
+import org.apache.http.entity.ContentType;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.message.BasicNameValuePair;
import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.OAUTH_CLIENT_ID_KEY;
import static org.apache.hadoop.hdfs.client.HdfsClientConfigKeys.OAUTH_REFRESH_URL_KEY;
@@ -43,7 +50,6 @@
import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.CLIENT_SECRET;
import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.EXPIRES_IN;
import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.GRANT_TYPE;
-import static org.apache.hadoop.hdfs.web.oauth2.OAuth2Constants.URLENCODED;
import static org.apache.hadoop.hdfs.web.oauth2.Utils.notNull;
/**
@@ -97,34 +103,35 @@ public synchronized String getAccessToken() throws IOException {
}
void refresh() throws IOException {
- OkHttpClient client = new OkHttpClient.Builder()
- .connectTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT, TimeUnit.MILLISECONDS)
- .readTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT, TimeUnit.MILLISECONDS)
+ HttpEntity reqEntity = EntityBuilder.create()
+ .setContentType(ContentType.APPLICATION_FORM_URLENCODED.withCharset(StandardCharsets.UTF_8))
+ .setParameters(
+ new BasicNameValuePair(CLIENT_SECRET, getCredential()),
+ new BasicNameValuePair(GRANT_TYPE, CLIENT_CREDENTIALS),
+ new BasicNameValuePair(CLIENT_ID, clientId))
.build();
- String bodyString = Utils.postBody(CLIENT_SECRET, getCredential(),
- GRANT_TYPE, CLIENT_CREDENTIALS,
- CLIENT_ID, clientId);
-
- RequestBody body = RequestBody.create(bodyString, URLENCODED);
+ HttpUriRequest request = RequestBuilder
+ .post(refreshURL)
+ .setEntity(reqEntity)
+ .build();
- Request request = new Request.Builder()
- .url(refreshURL)
- .post(body)
- .build();
- try (Response response = client.newCall(request).execute()) {
- if (!response.isSuccessful()) {
- throw new IOException("Unexpected code " + response);
- }
+ RequestConfig reqConf = RequestConfig.custom()
+ .setConnectTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT)
+ .setSocketTimeout(URLConnectionFactory.DEFAULT_SOCKET_TIMEOUT)
+ .build();
- if (response.code() != HttpStatus.SC_OK) {
- throw new IllegalArgumentException("Received invalid http response: "
- + response.code() + ", text = " + response.toString());
+ HttpClientBuilder clientBuilder = HttpClientBuilder.create().setDefaultRequestConfig(reqConf);
+ try (CloseableHttpClient client = clientBuilder.build();
+ CloseableHttpResponse response = client.execute(request)) {
+ int statusCode = response.getStatusLine().getStatusCode();
+ String respText = IOUtils.toString(response.getEntity().getContent(), StandardCharsets.UTF_8);
+ if (statusCode != HttpStatus.SC_OK) {
+ throw new IllegalArgumentException(
+ "Received invalid http response: " + statusCode + ", text = " + respText);
}
- Map, ?> responseBody = JsonSerialization.mapReader().readValue(
- response.body().string());
-
+ Map, ?> responseBody = JsonSerialization.mapReader().readValue(respText);
String newExpiresIn = responseBody.get(EXPIRES_IN).toString();
timer.setExpiresIn(newExpiresIn);
diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/OAuth2Constants.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/OAuth2Constants.java
index 2f28b65e40e92..4ac02e19b9cc2 100644
--- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/OAuth2Constants.java
+++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/web/oauth2/OAuth2Constants.java
@@ -18,7 +18,6 @@
*/
package org.apache.hadoop.hdfs.web.oauth2;
-import okhttp3.MediaType;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
@@ -30,9 +29,6 @@
public final class OAuth2Constants {
private OAuth2Constants() { /** Private constructor. **/ }
- public static final MediaType URLENCODED
- = MediaType.parse("application/x-www-form-urlencoded; charset=utf-8");
-
/* Constants for OAuth protocol */
public static final String ACCESS_TOKEN = "access_token";
public static final String BEARER = "bearer";
diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml
index 2caad449b5cbf..d62a80a6f378b 100644
--- a/hadoop-project/pom.xml
+++ b/hadoop-project/pom.xml
@@ -131,10 +131,6 @@
3.3.1
4.0.3
6.2.1.jre7
- 2.7.5
- 4.9.3
- 1.4.10
- 1.4.10
2.0.6.1
5.2.0
2.2.21
@@ -221,37 +217,6 @@
-
- com.squareup.okhttp3
- okhttp
- ${okhttp3.version}
-
-
- org.jetbrains.kotlin
- kotlin-stdlib
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-common
-
-
-
-
- org.jetbrains.kotlin
- kotlin-stdlib
- ${kotlin-stdlib.verion}
-
-
- org.jetbrains
- annotations
-
-
-
-
- org.jetbrains.kotlin
- kotlin-stdlib-common
- ${kotlin-stdlib-common.version}
-
com.squareup.okhttp3
mockwebserver