Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
2.7.1
-
None
-
None
Description
Current implementation of NativeS3FileSystem.java uses RetryProxy that retries exceptions that may occur on network communication with S3 API, but these exceptions must be exact instances of IOException:
https://github.com/apache/hadoop/blob/master/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java#L349
Our tests show that HttpClient throws IOException subclasses which are not handled by Proxy.
Additionally, not all methods that call S3 API are listed to be handled, i.e. storeEmptyFile and retrieveMetadata are missing.