From 9f679b030aedcb5cdae6810798f2602b62f58fa0 Mon Sep 17 00:00:00 2001 From: Nasser Grainawi Date: Mon, 13 Jul 2020 16:42:02 -0600 Subject: Fix naming for delay for draining the replication event queue Thread.sleep() takes milliseconds as an argument, not seconds. Otherwise, multiplying by 1000 would be a bug. Also switches to returning a long, which fixes a potential overflow when multiplying by 1000. Change-Id: I3fc5c939e8c09c134e24fa9381e96e6529b5be4d --- .../java/com/googlesource/gerrit/plugins/replication/Destination.java | 4 ++-- .../gerrit/plugins/replication/ReplicationFileBasedConfig.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java b/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java index 545b537..e057626 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/Destination.java @@ -750,8 +750,8 @@ public class Destination { return config.getDrainQueueAttempts(); } - public int getReplicationDelaySeconds() { - return config.getDelay() * 1000; + public long getReplicationDelayMilliseconds() { + return config.getDelay() * 1000L; } private static boolean matches(URIish uri, String urlMatch) { diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java index 68db6c6..37d63e3 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/ReplicationFileBasedConfig.java @@ -259,7 +259,7 @@ public class ReplicationFileBasedConfig implements ReplicationConfig { logger.atInfo().log( "Draining replication events, postpone shutdown. Events left: inFlight %d, pending %d", inFlight, pending); - Thread.sleep(destination.getReplicationDelaySeconds()); + Thread.sleep(destination.getReplicationDelayMilliseconds()); } catch (InterruptedException ie) { logger.atWarning().withCause(ie).log( "Wait for replication events to drain has been interrupted"); -- cgit v1.2.3