From c435eccc43bedb2fe3b8cabe8755220b63f596e8 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 11 Dec 2018 09:24:09 +0000 Subject: [PATCH 1/2] Change push timeout to three minutes --- .../uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java | 2 +- .../snapshot/push/exception/PostbackTimeoutException.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java index 37e03e39bf..766ed23a1d 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java @@ -35,7 +35,7 @@ public class PostbackPromise { try { while (!received) { try { - if (!cond.await(60, TimeUnit.SECONDS)) { + if (!cond.await(60 * 3, TimeUnit.SECONDS)) { throw new PostbackTimeoutException(); } } catch (InterruptedException e) { diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java index 8b1f6a69a8..2b1579cd3e 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java @@ -13,7 +13,7 @@ public class PostbackTimeoutException extends SevereSnapshotPostException { @Override public String getMessage() { - return "timeout (60s)"; + return "timeout"; } @Override From a72146aa8d1637478da054ab5ac85fb401335e95 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 12 Dec 2018 10:38:26 +0000 Subject: [PATCH 2/2] Better report to user on push timeout --- .../ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java | 6 ++++-- .../snapshot/push/exception/PostbackTimeoutException.java | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java index 766ed23a1d..420237d729 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/PostbackPromise.java @@ -14,6 +14,8 @@ import java.util.concurrent.locks.ReentrantLock; */ public class PostbackPromise { + private static int TIMEOUT_SECONDS = 60 * 3; + private final String postbackKey; private final ReentrantLock lock; private final Condition cond; @@ -35,8 +37,8 @@ public class PostbackPromise { try { while (!received) { try { - if (!cond.await(60 * 3, TimeUnit.SECONDS)) { - throw new PostbackTimeoutException(); + if (!cond.await(TIMEOUT_SECONDS, TimeUnit.SECONDS)) { + throw new PostbackTimeoutException(TIMEOUT_SECONDS); } } catch (InterruptedException e) { throw new InternalErrorException(); diff --git a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java index 2b1579cd3e..ca19448c3e 100644 --- a/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java +++ b/services/git-bridge/src/main/java/uk/ac/ic/wlgitbridge/snapshot/push/exception/PostbackTimeoutException.java @@ -11,9 +11,15 @@ import java.util.List; */ public class PostbackTimeoutException extends SevereSnapshotPostException { + private int timeout; + + public PostbackTimeoutException(int timeout) { + this.timeout = timeout; + } + @Override public String getMessage() { - return "timeout"; + return "Request timed out (after " + this.timeout + " seconds)"; } @Override