[ 
https://issues.apache.org/jira/browse/HADOOP-13130?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Loughran updated HADOOP-13130:
------------------------------------
    Attachment: HADOOP-13130-branch-2-011.patch

HADOOP-13130 patch 011. This stops converting 400 exit codes into 
{{org.apache.hadoop.fs.InvalidRequestException}} exceptions; that loses too 
much info. 400 turns out be a broad "request failed for one of many reasons" 
responses, that information needs to be preserved for code downstream and made 
accessible through the various accessors. Converting to a AWSS3IOException does 
this.

I should add that this doesn't provide me with enough info to understand why 
things are failing for me, all I know is S3 said "400", without even any HTML 
body. At least know I can be confident we aren't losing any of the information 
sent back to us, and adding in the service endpoint
{code}
org.apache.hadoop.fs.s3a.AWSS3IOException: doesBucketExist on 
steve-frankfurt-new: com.amazonaws.services.s3.model.AmazonS3Exception: Bad 
Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; 
Request ID: D24D86BFF65A9B76), S3 Extended Request ID: 
5qYtnhHG/fwO16aOqG75ZzBuKN+QhL6V/RI4WSgOTZVC2BEIajqxjRTZro904vxB9tGy+9z5z7U=: 
Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; 
Request ID: D24D86BFF65A9B76)
{code}

> s3a failures can surface as RTEs, not IOEs
> ------------------------------------------
>
>                 Key: HADOOP-13130
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13130
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/s3
>    Affects Versions: 2.7.2
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>         Attachments: HADOOP-13130-001.patch, HADOOP-13130-002.patch, 
> HADOOP-13130-002.patch, HADOOP-13130-003.patch, HADOOP-13130-004.patch, 
> HADOOP-13130-005.patch, HADOOP-13130-branch-2-006.patch, 
> HADOOP-13130-branch-2-007.patch, HADOOP-13130-branch-2-008.patch, 
> HADOOP-13130-branch-2-009.patch, HADOOP-13130-branch-2-010.patch, 
> HADOOP-13130-branch-2-011.patch
>
>
> S3A failures happening in the AWS library surface as 
> {{AmazonClientException}} derivatives, rather than IOEs. As the amazon 
> exceptions are runtime exceptions, any code which catches IOEs for error 
> handling breaks.
> The fix will be to catch and wrap. The hard thing will be to wrap it with 
> meaningful exceptions rather than a generic IOE. Furthermore, if anyone has 
> been catching AWS exceptions, they are going to be disappointed. That means 
> that fixing this situation could be considered "incompatible" —but only for 
> code which contains assumptions about the underlying FS and the exceptions 
> they raise.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to