Package com.google.cloud.hadoop.util
Class ResilientOperation
- java.lang.Object
-
- com.google.cloud.hadoop.util.ResilientOperation
-
public class ResilientOperation extends Object
A class which defines static functions to be called to make a user-provided function more resilient by attempting retries.
-
-
Constructor Summary
Constructors Constructor Description ResilientOperation()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleannextSleep(com.google.api.client.util.BackOff backoff, com.google.api.client.util.Sleeper sleeper, Exception currentException)Determines the amount to sleep for and sleeps if needed.static <T,X extends Exception>
Tretry(Callable<T> callable, com.google.api.client.util.BackOff backoff, RetryDeterminer<? super X> retryDet, Class<X> classType)Retries the given executable function in the case of transient errors defined by the RetryDeterminer and uses default sleeper.static <T,X extends Exception>
Tretry(Callable<T> callable, com.google.api.client.util.BackOff backoff, RetryDeterminer<? super X> retryDet, Class<X> classType, com.google.api.client.util.Sleeper sleeper)Retries the given executable function in the case of transient errors defined by the RetryDeterminer.
-
-
-
Method Detail
-
retry
public static <T,X extends Exception> T retry(Callable<T> callable, com.google.api.client.util.BackOff backoff, RetryDeterminer<? super X> retryDet, Class<X> classType, com.google.api.client.util.Sleeper sleeper) throws X extends Exception, InterruptedException
Retries the given executable function in the case of transient errors defined by the RetryDeterminer.Does not support unchecked exceptions that are not instances of RuntimeException.
- Type Parameters:
T- Type of object returned by the call.X- Type of exception thrown by the call.- Parameters:
callable- Callable to retry execution ofbackoff- BackOff to determine how long to sleep forretryDet- RetryDeterminer to determine when to retryclassType- class type of Xsleeper- Used to sleep- Throws:
X- What is thrown from the executable or the RetryDeterminerInterruptedException- - Exception thrown from sleepX extends Exception
-
retry
public static <T,X extends Exception> T retry(Callable<T> callable, com.google.api.client.util.BackOff backoff, RetryDeterminer<? super X> retryDet, Class<X> classType) throws X extends Exception, InterruptedException
Retries the given executable function in the case of transient errors defined by the RetryDeterminer and uses default sleeper.- Type Parameters:
T- Type of object returned by the call.X- Type of exception thrown by the call.- Parameters:
callable- Callable to retry execution ofbackoff- BackOff to determine how long to sleep forretryDet- RetryDeterminer to determine when to retryclassType- class type of X- Throws:
X- What is thrown from the executable or the RetryDeterminerInterruptedException- - Exception thrown from sleepX extends Exception
-
nextSleep
public static boolean nextSleep(com.google.api.client.util.BackOff backoff, com.google.api.client.util.Sleeper sleeper, Exception currentException) throws InterruptedExceptionDetermines the amount to sleep for and sleeps if needed.- Parameters:
backoff- BackOff to determine how long to sleep forsleeper- Used to sleepcurrentException- exception that caused the retry and sleep. For logging.- Throws:
InterruptedException- if sleep is interrupted
-
-