This is an automated email from the ASF dual-hosted git repository.

stevel pushed a commit to branch branch-3.3.3
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/branch-3.3.3 by this push:
     new 1c7b0bc5f47 HADOOP-18330. S3AFileSystem removes Path when calling 
createS3Client (#4557)
1c7b0bc5f47 is described below

commit 1c7b0bc5f47025d305d7654f9bcc06148c62aa7a
Author: ashutoshpant <51799223+ashutoshp...@users.noreply.github.com>
AuthorDate: Sat Jul 16 12:52:48 2022 -0400

    HADOOP-18330. S3AFileSystem removes Path when calling createS3Client (#4557)
    
    
    Adds a new attribute to S3A client builder parameter
    object containing the full filesystem path used when creating
    the S3A FileSystem instance.
    
    Contributed by Ashutosh Pant.
---
 .../org/apache/hadoop/fs/s3a/S3AFileSystem.java    |  1 +
 .../org/apache/hadoop/fs/s3a/S3ClientFactory.java  | 27 ++++++++++++++++++++++
 .../hadoop/fs/s3a/ITestS3AEndpointRegion.java      |  1 +
 .../ITestSessionDelegationInFileystem.java         |  1 +
 4 files changed, 30 insertions(+)

diff --git 
a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java
 
b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java
index 5219b04f179..86b9319ca1a 100644
--- 
a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java
+++ 
b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AFileSystem.java
@@ -888,6 +888,7 @@ public class S3AFileSystem extends FileSystem implements 
StreamCapabilities,
     S3ClientFactory.S3ClientCreationParameters parameters = null;
     parameters = new S3ClientFactory.S3ClientCreationParameters()
         .withCredentialSet(credentials)
+        .withPath(name)
         .withEndpoint(endpoint)
         .withMetrics(statisticsContext.newStatisticsFromAwsSdk())
         .withPathStyleAccess(conf.getBoolean(PATH_STYLE_ACCESS, false))
diff --git 
a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ClientFactory.java
 
b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ClientFactory.java
index 5ef99ed6f5c..6ff239c6d82 100644
--- 
a/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ClientFactory.java
+++ 
b/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ClientFactory.java
@@ -115,6 +115,12 @@ public interface S3ClientFactory {
      */
     private String userAgentSuffix = "";
 
+    /**
+     * S3A path.
+     * added in HADOOP-18330
+     */
+    private URI pathUri;
+
     /**
      * List of request handlers to include in the chain
      * of request execution in the SDK.
@@ -264,5 +270,26 @@ public interface S3ClientFactory {
     public Map<String, String> getHeaders() {
       return headers;
     }
+
+    /**
+     * Get the full s3 path.
+     * added in HADOOP-18330
+     * @return path URI
+     */
+    public URI getPath() {
+      return pathUri;
+    }
+
+    /**
+     * Set full s3a path.
+     * added in HADOOP-18330
+     * @param value new value
+     * @return the builder
+     */
+    public S3ClientCreationParameters withPath(
+            final URI value) {
+      pathUri = value;
+      return this;
+    }
   }
 }
diff --git 
a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AEndpointRegion.java
 
b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AEndpointRegion.java
index 761dd558063..db19a6bb858 100644
--- 
a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AEndpointRegion.java
+++ 
b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/ITestS3AEndpointRegion.java
@@ -176,6 +176,7 @@ public class ITestS3AEndpointRegion extends 
AbstractS3ATestBase {
     S3ClientFactory.S3ClientCreationParameters parameters
         = new S3ClientFactory.S3ClientCreationParameters()
         .withCredentialSet(new AnonymousAWSCredentialsProvider())
+        .withPath(new URI("s3a://localhost/"))
         .withEndpoint(endpoint)
         .withMetrics(new EmptyS3AStatisticsContext()
             .newStatisticsFromAwsSdk());
diff --git 
a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/auth/delegation/ITestSessionDelegationInFileystem.java
 
b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/auth/delegation/ITestSessionDelegationInFileystem.java
index 47fad292156..767848f65c7 100644
--- 
a/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/auth/delegation/ITestSessionDelegationInFileystem.java
+++ 
b/hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/auth/delegation/ITestSessionDelegationInFileystem.java
@@ -590,6 +590,7 @@ public class ITestSessionDelegationInFileystem extends 
AbstractDelegationIT {
     S3ClientFactory.S3ClientCreationParameters parameters = null;
     parameters = new S3ClientFactory.S3ClientCreationParameters()
         .withCredentialSet(testingCreds)
+        .withPath(new URI("s3a://localhost/"))
         .withEndpoint(DEFAULT_ENDPOINT)
         .withMetrics(new EmptyS3AStatisticsContext()
             .newStatisticsFromAwsSdk())


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to