From 98ab0aaa219617a595754e6343356c98cc7d1a9d Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Sun, 8 Jan 2017 22:58:33 +0100 Subject: Since we might miss a notify we need to wake and check if we missed the wakeup call. --- vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java') diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java index 949be19c3eb..3c19da5b4fd 100755 --- a/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java +++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/SharedSender.java @@ -22,8 +22,8 @@ public class SharedSender implements ReplyHandler { public static final Logger log = Logger.getLogger(SharedSender.class.getName()); private SendSession sender; - private final Object monitor = new Object(); private RouteMetricSet metrics; + private static final int REACT_LATENCY_ON_RACE = 5; private ConcurrentHashMap activeOwners = new ConcurrentHashMap<>(); @@ -253,7 +253,7 @@ public class SharedSender implements ReplyHandler { long timeLeft = timeoutMS; synchronized (numPending) { while ((numPending.get() > 0) && (timeLeft > 0)) { - numPending.wait(timeLeft); + numPending.wait(REACT_LATENCY_ON_RACE); timeLeft = timeoutMS - (SystemTimer.INSTANCE.milliTime() - timeStart); } } @@ -263,7 +263,7 @@ public class SharedSender implements ReplyHandler { void waitPending() throws InterruptedException { synchronized (numPending) { while (numPending.get() > 0) { - numPending.wait(); + numPending.wait(REACT_LATENCY_ON_RACE); } } } -- cgit v1.2.3