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