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

Steve Loughran commented on HADOOP-19027:
-----------------------------------------

The retry logic in S3AInputStream only seems to retry on the first GET, later 
ones is treats as fatal and assumes this is a file version issue.

This is from https://github.com/apache/hadoop/pull/794
{code}
    // With S3Guard, the metadatastore gave us metadata for the file in
    // open(), so we use a slightly different retry policy, but only on initial
    // open.  After that, an exception generally means the file has changed
    // and there is no point retrying anymore.
    Invoker invoker = context.getReadInvoker();
    invoker.maybeRetry(streamStatistics.openOperations == 0,
        "lazySeek", pathStr, true, ...
{code}

# We want to retry on failures, except for version change events.
# we need to map stream problems (closed, no response) to retryable


> S3A: S3AInputStream doesn't recover from HTTP exceptions
> --------------------------------------------------------
>
>                 Key: HADOOP-19027
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19027
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 3.4.0
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>
> S3AInputStream doesn't seem to recover from Http exceptions raised through 
> HttpClient or through OpenSSL.
> * review the recovery code to make sure it is retrying enough, it looks 
> suspiciously like it doesn't
> * detect the relevant openssl, shaded httpclient and unshaded httpclient 
> exceptions, map to a standard one and treat as comms error in our retry policy
> This is not the same as the load balancer/proxy returning 443/444 which we 
> map to AWSNoResponseException. We can't reuse that as it expects to be 
> created from an 
> {{software.amazon.awssdk.awscore.exception.AwsServiceException}} exception 
> with the relevant fields...changing it could potentially be incompatible.



--
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