Merge branch 'stable-3.7' into stable-3.8 * stable-3.7: Pull-replication plugin should warn about inconsistent timeouts Change-Id: I11450480b6d4001965d83a5386942432c21c9f10
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfiguration.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfiguration.java index 0a22a5a..2cda13e 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfiguration.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/SourceConfiguration.java
@@ -16,6 +16,7 @@ import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableList; +import com.google.common.flogger.FluentLogger; import com.google.gerrit.server.config.ConfigUtil; import com.googlesource.gerrit.plugins.replication.RemoteConfiguration; import java.util.concurrent.TimeUnit; @@ -23,6 +24,7 @@ import org.eclipse.jgit.transport.RemoteConfig; public class SourceConfiguration implements RemoteConfiguration { + private static final FluentLogger logger = FluentLogger.forEnclosingClass(); static final int DEFAULT_REPLICATION_DELAY = 4; static final int DEFAULT_RESCHEDULE_DELAY = 3; static final int DEFAULT_SLOW_LATENCY_THRESHOLD_SECS = 900; @@ -64,6 +66,13 @@ apis = ImmutableList.copyOf(cfg.getStringList("remote", name, "apiUrl")); connectionTimeout = cfg.getInt("remote", name, "connectionTimeout", DEFAULT_CONNECTION_TIMEOUT_MS); + int connectionTimeoutInSec = connectionTimeout / 1000; + if (connectionTimeoutInSec < getRemoteConfig().getTimeout()) { + logger.atWarning().log( + "The connection timeout is currently set to %s sec, which is less than the timeout value of %s sec. " + + "To avoid potential issues, consider increasing the connection timeout to exceed the timeout value.", + connectionTimeoutInSec, getRemoteConfig().getTimeout()); + } idleTimeout = cfg.getInt("remote", name, "idleTimeout", DEFAULT_MAX_CONNECTION_INACTIVITY_MS); maxConnectionsPerRoute = cfg.getInt("replication", "maxConnectionsPerRoute", DEFAULT_CONNECTIONS_PER_ROUTE);