Disable replicationLag if pullReplicationFilter is enabled Bug: Issue 408010451 Change-Id: I921cc752d15c0189c154ea0ccfea1bb01a786551
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java index 6beda51..7d76807 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java +++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
@@ -123,10 +123,10 @@ replicationLagEnabled = memoize( () -> - lazyMultiSiteCfg - .get() - .getBoolean(REF_DATABASE, null, REPLICATION_LAG_ENABLED, true)); - + !pullReplicationFilterEnabled.get() + && lazyMultiSiteCfg + .get() + .getBoolean(REF_DATABASE, null, REPLICATION_LAG_ENABLED, true)); pushReplicationFilterEnabled = memoize( () ->
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md index 253d8aa..75fc55b 100644 --- a/src/main/resources/Documentation/config.md +++ b/src/main/resources/Documentation/config.md
@@ -115,7 +115,8 @@ updating the `refs/multi-site/version/*` to the _epoch_ timestamp in milliseconds. Please note that the `replication-lag` REST-API is also disabled if this setting is false. - Defaults: true + Defaults: true unless `pullReplicationFilterEnabled` is enabled and the pull-replication plugin + is available, in which case replicationLag is always disabled. ```ref-database.replicationLagRefreshInterval``` : Enable the auto-refresh of the metrics to trace the auto-replication
diff --git a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetricsTest.java b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetricsTest.java index 6a03a6c..191d7fd 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetricsTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetricsTest.java
@@ -57,6 +57,8 @@ @Before public void setup() throws Exception { + Config multiSiteConfig = new Config(); + multiSiteConfig.setBoolean("ref-database", null, "pullReplicationFilterEnabled", false); replicationStatus = new ReplicationStatus( CacheBuilder.newBuilder().build(), @@ -64,7 +66,8 @@ verLogger, projectCache, Executors.newScheduledThreadPool(1), - new com.googlesource.gerrit.plugins.multisite.Configuration(new Config(), new Config()), + new com.googlesource.gerrit.plugins.multisite.Configuration( + multiSiteConfig, new Config()), new DisabledMetricMaker()); metrics = new SubscriberMetrics(metricMaker, replicationStatus); }