From 05f19d6f8901b234649b060701a0ab3fe6815e19 Mon Sep 17 00:00:00 2001 From: Robert Bradshaw Date: Tue, 28 Nov 2017 14:17:40 -0800 Subject: [PATCH 1/2] Backoff HTTP requests on IO Exceptions. --- .../cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java index 756dce0a99..d0fd01f667 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java @@ -237,9 +237,10 @@ public void initialize(HttpRequest request) throws IOException { .setMultiplier(2).build(), sleeper, ignoredResponseCodes)); - // Retry immediately on IOExceptions. + // Similarly back off on IOExceptions. LoggingHttpBackOffIOExceptionHandler loggingBackoffHandler = - new LoggingHttpBackOffIOExceptionHandler(BackOff.ZERO_BACKOFF); + new LoggingHttpBackOffIOExceptionHandler( + new ExponentialBackOff.Builder().setNanoClock(nanoClock).setMultiplier(2).build())); request.setIOExceptionHandler(loggingBackoffHandler); // Set response initializer From eb7d1ae4f06515191f5797484e2fe6cd09219b2c Mon Sep 17 00:00:00 2001 From: Robert Bradshaw Date: Wed, 29 Nov 2017 10:10:10 -0800 Subject: [PATCH 2/2] fixup: typo --- .../cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java b/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java index d0fd01f667..d98f72e216 100644 --- a/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java +++ b/sdk/src/main/java/com/google/cloud/dataflow/sdk/util/RetryHttpRequestInitializer.java @@ -240,7 +240,7 @@ public void initialize(HttpRequest request) throws IOException { // Similarly back off on IOExceptions. LoggingHttpBackOffIOExceptionHandler loggingBackoffHandler = new LoggingHttpBackOffIOExceptionHandler( - new ExponentialBackOff.Builder().setNanoClock(nanoClock).setMultiplier(2).build())); + new ExponentialBackOff.Builder().setNanoClock(nanoClock).setMultiplier(2).build()); request.setIOExceptionHandler(loggingBackoffHandler); // Set response initializer