[ 
https://issues.apache.org/jira/browse/HADOOP-17771?focusedWorklogId=613930&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-613930
 ]

ASF GitHub Bot logged work on HADOOP-17771:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 23/Jun/21 09:56
            Start Date: 23/Jun/21 09:56
    Worklog Time Spent: 10m 
      Work Description: steveloughran commented on a change in pull request 
#3133:
URL: https://github.com/apache/hadoop/pull/3133#discussion_r656942766



##########
File path: 
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/DefaultS3ClientFactory.java
##########
@@ -141,6 +142,10 @@ protected AmazonS3 buildAmazonS3Client(
       // no idea what the endpoint is, so tell the SDK
       // to work it out at the cost of an extra HEAD request
       b.withForceGlobalBucketAccessEnabled(true);
+      // HADOOP-17771 force set the region so the build process doesn't halt.
+      String region = getConf().getTrimmed(AWS_REGION, AWS_S3_CENTRAL_REGION);
+      LOG.debug("Using default endpoint; setting region to {}", region);
+      b.setRegion(region);

Review comment:
       skip if region is empty?, so a config has set fs.s3a.endpoint=""; if we 
skip calling setRegion() there, then the connector will go to the SDK region 
resolution process, including picking up info from EC2 metadata

##########
File path: 
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/Constants.java
##########
@@ -1087,4 +1087,11 @@ private Constants() {
    */
   public static final String AWS_REGION = "fs.s3a.endpoint.region";
 
+  /**
+   * The special S3 region which can be used to talk to any bucket if
+   * the global bucket resolution is enabled (which it is...)

Review comment:
       need a .




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 613930)
    Time Spent: 1h 40m  (was: 1.5h)

> S3AFS creation fails without region set in ~/.aws/config
> --------------------------------------------------------
>
>                 Key: HADOOP-17771
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17771
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.3.1
>         Environment: Host outside EC2 and without the file ~/.aws/config or 
> without a region set in it
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Blocker
>              Labels: pull-request-available
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> If you don't have {{fs.s3a.endpoint}} set and lack a region set in
> env var {{AWS_REGION_ENV_VAR}}, system property {{aws.region}} or the file  
> ~/.aws/config
> then S3A FS creation fails with  the message
> "Unable to find a region via the region provider chain."
> This is caused by the move to the AWS S3 client builder API in HADOOP-13551
> This is pretty dramatic and no doubt everyone will be asking "why didn't you 
> notice this?",
> But in fact there are some reasons.
> # when running in EC2, all is well. Meaning our big test runs were all happy.
> # if a developer has fs.s3a.endpoint set for the test bucket, all is well.
>    Those of us who work with buckets in the "regions tend to do this, not 
> least because it can save a HEAD request every time an FS is created.
> # if you have a region set in ~/.aws/config then all is well
> reason #3 is the real surprise and the one which has really caught out. Even 
> my tests against buckets in usw-2 through central didn't fail because of 
> course I, like my colleagues, have the AWS S3 client installed locally. This 
> was sufficient to make the problem go away. It is also why this has been an 
> intermittent problem on test clusters outside AWS infra: it really depended 
> on the VM/docker image whether things worked or not.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to