diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-04-12 17:36:49 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-04-12 17:36:49 +0200 |
commit | bf9e3dd858e73e2670b0d99a33ac7d9e421b550b (patch) | |
tree | 2c1af291e4cef5f95bdd86461e30c4243ce43ced /messagebus | |
parent | aa24d7828140ceaeb2e73aa78fdf12d3cad8e1bb (diff) |
Take the time outside of the synchronized section.
Diffstat (limited to 'messagebus')
-rwxr-xr-x | messagebus/src/main/java/com/yahoo/messagebus/routing/Resender.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/routing/Resender.java b/messagebus/src/main/java/com/yahoo/messagebus/routing/Resender.java index 49419052f8f..ba2e8845e63 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/routing/Resender.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/routing/Resender.java @@ -87,8 +87,9 @@ public class Resender { node.getTrace().trace(TraceLevel.COMPONENT, "Message scheduled for retry " + retry + " in " + delay + " seconds."); msg.setRetry(retry); + Entry entry = new Entry(node, SystemTimer.INSTANCE.milliTime() + (long) (delay * 1000)); synchronized (queue) { - queue.add(new Entry(node, SystemTimer.INSTANCE.milliTime() + (long) (delay * 1000))); + queue.add(entry); } return true; } @@ -98,10 +99,11 @@ public class Resender { */ public void resendScheduled() { List<RoutingNode> sendList; + + long now = SystemTimer.INSTANCE.milliTime(); synchronized (queue) { if (queue.isEmpty()) return; sendList = new LinkedList<>(); - long now = SystemTimer.INSTANCE.milliTime(); while (!queue.isEmpty() && queue.peek().time <= now) { sendList.add(queue.poll().node); } |