[ 
https://issues.apache.org/jira/browse/HADOOP-19103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17824286#comment-17824286
 ] 

ASF GitHub Bot commented on HADOOP-19103:
-----------------------------------------

shameersss1 commented on code in PR #6615:
URL: https://github.com/apache/hadoop/pull/6615#discussion_r1515670775


##########
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/auth/STSClientFactory.java:
##########
@@ -125,6 +125,14 @@ public static StsClientBuilder builder(
   public static StsClientBuilder builder(final AwsCredentialsProvider 
credentials,
       final Configuration conf, final String stsEndpoint, final String 
stsRegion,
       final String bucket) throws IOException {
+    // If an STS endpoint is provided and if it is not STS_STANDARD 
(sts.amazonaws.com)
+    // it should match E_INVALID_STS_ENDPOINT_PATTERN.
+    if (!isEmpty(stsEndpoint) &&
+        !STS_STANDARD.equals(stsEndpoint) &&
+        !stsEndpoint.matches(STS_ENDPOINT_URI_PATTERN)) {
+      throw new 
IOException(String.format(E_INVALID_STS_ENDPOINT_PATTERN,stsEndpoint));

Review Comment:
   Isn't throwing IllegalArgumentException more suitable here? Given that we 
are not doing any IO.





> Add logic for verifying that the STS URL is in the correct format
> -----------------------------------------------------------------
>
>                 Key: HADOOP-19103
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19103
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/s3
>            Reporter: Narayanan Venkateswaran
>            Priority: Minor
>              Labels: pull-request-available
>
> * At present an invalid URL can be supplied as an STS endpoint. It will 
> attempt to create an STSClient with it and then fail with,
> {quote}java.net.UnknownHostException: request session credentials: 
> software.amazon.awssdk.core.exception.SdkClientException: Received an 
> UnknownHostException when attempting to interact with a service. See cause 
> for the exact endpoint that is failing to resolve. If this is happening on an 
> endpoint that previously worked, there may be a network connectivity issue or 
> your DNS cache could be storing endpoints for too long.:    
> software.amazon.awssdk.core.exception.SdkClientException: Received an 
> UnknownHostException when attempting to interact with a service. See cause 
> for the exact endpoint that is failing to resolve. If this is happening on an 
> endpoint that previously worked, there may be a network connectivity issue or 
> your DNS cache could be storing endpoints for too long.: https
> {quote} * This is inefficient. An invalid URL can be parsed much earlier and 
> can be failed based on the URL format itself.
>  * The error message is not very clear and does not indicate a problem in the 
> URL format.
>  * In this Jira issue, we attempt to parse the STS URL and fail fast with a 
> more relevant error message.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to