Merge branch 'stable-3.8' into stable-3.9

* stable-3.8:
  Pull-replication plugin should warn about inconsistent timeouts

Change-Id: Ia4b9e14f31dc8fb23e8ed2c176e2ec7ec6fbf77c
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 1921e7b..00fa23d 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
@@ -67,6 +67,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);