Retry RDE report on SocketTimeoutException

It's likely that either 1) we should be doing this for more than a
SocketTimeoutException - we probably want to do this in the case of a number
of different transient failures 2) we don't want to do this at all because it
happens in a background task that will get re-run anyway.

In any case, this seems like the right fix and it addresses a problem we see
occassionally.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139935190
This commit is contained in:
mmuller 2016-11-22 11:40:41 -08:00 committed by Ben McIlwain
parent b3907d5d90
commit ddacd33c5e
3 changed files with 40 additions and 11 deletions

View file

@ -93,8 +93,8 @@ public class Retrier implements Serializable {
@SafeVarargs
public final <V> V callWithRetry(
Callable<V> callable,
Class<? extends RuntimeException> retryableError,
Class<? extends RuntimeException>... moreRetryableErrors) {
Class<? extends Throwable> retryableError,
Class<? extends Throwable>... moreRetryableErrors) {
final Set<Class<?>> retryables =
new ImmutableSet.Builder<Class<?>>().add(retryableError).add(moreRetryableErrors).build();
return callWithRetry(callable, new Predicate<Throwable>() {