diff --git a/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy b/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy
index 3737c5650c87..eadcb8739209 100644
--- a/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy
+++ b/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy
@@ -6,6 +6,11 @@ grant {
permission "javax.net.ssl.SSLPermission" "setDefaultSSLContext";
permission "java.net.SocketPermission" "*", "connect,resolve";
+ // Needed for Apache5 HTTP Client TCP keep-alive socket options
+ permission jdk.net.NetworkPermission "setOption.TCP_KEEPIDLE";
+ permission jdk.net.NetworkPermission "setOption.TCP_KEEPINTERVAL";
+ permission jdk.net.NetworkPermission "setOption.TCP_KEEPCOUNT";
+
// Needed for test to remove the security manager
permission java.lang.RuntimePermission "setSecurityManager";
diff --git a/services/s3/pom.xml b/services/s3/pom.xml
index 24739bd9c2e8..dd149c9a155b 100644
--- a/services/s3/pom.xml
+++ b/services/s3/pom.xml
@@ -209,12 +209,6 @@
${awsjavasdk.version}
test
-
- software.amazon.awssdk
- apache5-client
- ${awsjavasdk.version}
- test
-
io.netty
netty-transport
diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java
index 922078a2a127..ae3744c84f28 100644
--- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java
+++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java
@@ -21,7 +21,7 @@
import java.io.IOException;
import java.time.Duration;
-import org.apache.http.conn.ConnectionPoolTimeoutException;
+import org.apache.hc.core5.http.ConnectionRequestTimeoutException;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -74,8 +74,8 @@ public void defaultTimeout_firstStreamNotConsumed_secondRequestTimesOut() {
s3Client.getObject(getObjectRequest);
assertThatThrownBy(() -> s3Client.getObject(getObjectRequest))
- .hasRootCauseInstanceOf(ConnectionPoolTimeoutException.class)
- .hasMessageContaining("Timeout waiting for connection from pool");
+ .hasRootCauseInstanceOf(ConnectionRequestTimeoutException.class)
+ .hasMessageContaining("Timeout deadline");
}
@Test