[ 
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

        

Reply via email to