[
https://issues.apache.org/jira/browse/HADOOP-882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12466536
]
Doug Cutting commented on HADOOP-882:
-------------------------------------
> To implement retries, I was imagining creating a wrapper implementation of
> FileSystemStore that only had retry functionality
This reminds me of HADOOP-601. That's not directly applicable, since S3
doesn't use Hadoop's RPC. But it makes me wonder if perhaps we ought to pursue
a generic retry mechanism. Perhaps we could have a RetryProxy that uses
java.lang.reflect.Proxy to implement retries for all methods in an interface.
One could perhaps specify per-method retry policies as a ctor parameter, e.g.:
MethodRetry[] retries = new MethodRetry[] {
new MethodRetry("myFirstMethod", ONCE),
new MethodRetry("mySecondMethod, FOREVER)
}
MyInterface impl = new MyInterfaceImpl();
MyInterface proxy = RetryProxy.create(MyInterface.class, impl, retries);
or somesuch. Could this work?
> S3FileSystem should retry if there is a communication problem with S3
> ---------------------------------------------------------------------
>
> Key: HADOOP-882
> URL: https://issues.apache.org/jira/browse/HADOOP-882
> Project: Hadoop
> Issue Type: Improvement
> Components: fs
> Affects Versions: 0.10.1
> Reporter: Tom White
> Assigned To: Tom White
>
> File system operations currently fail if there is a communication problem
> (IOException) with S3. All operations that communicate with S3 should retry a
> fixed number of times before failing.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira