diff options
Diffstat (limited to 'src/main/java/com/googlesource/gerrit/plugins/replication/DestinationConfiguration.java')
-rw-r--r-- | src/main/java/com/googlesource/gerrit/plugins/replication/DestinationConfiguration.java | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/DestinationConfiguration.java b/src/main/java/com/googlesource/gerrit/plugins/replication/DestinationConfiguration.java index f79f616..856ffb1 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/DestinationConfiguration.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/DestinationConfiguration.java @@ -16,12 +16,15 @@ package com.googlesource.gerrit.plugins.replication; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableList; - import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.transport.RemoteConfig; class DestinationConfiguration { + static final int DEFAULT_REPLICATION_DELAY = 15; + static final int DEFAULT_RESCHEDULE_DELAY = 3; + private final int delay; + private final int rescheduleDelay; private final int retryDelay; private final int lockErrorMaxRetries; private final ImmutableList<String> adminUrls; @@ -40,29 +43,23 @@ class DestinationConfiguration { DestinationConfiguration(RemoteConfig remoteConfig, Config cfg) { this.remoteConfig = remoteConfig; String name = remoteConfig.getName(); - urls = ImmutableList.copyOf( - cfg.getStringList("remote", name, "url")); - delay = Math.max(0, getInt(remoteConfig, cfg, "replicationdelay", 15)); - projects = ImmutableList.copyOf( - cfg.getStringList("remote", name, "projects")); - adminUrls = ImmutableList.copyOf( - cfg.getStringList("remote", name, "adminUrl")); + urls = ImmutableList.copyOf(cfg.getStringList("remote", name, "url")); + delay = Math.max(0, getInt(remoteConfig, cfg, "replicationdelay", DEFAULT_REPLICATION_DELAY)); + rescheduleDelay = + Math.max(3, getInt(remoteConfig, cfg, "rescheduledelay", DEFAULT_RESCHEDULE_DELAY)); + projects = ImmutableList.copyOf(cfg.getStringList("remote", name, "projects")); + adminUrls = ImmutableList.copyOf(cfg.getStringList("remote", name, "adminUrl")); retryDelay = Math.max(0, getInt(remoteConfig, cfg, "replicationretry", 1)); poolThreads = Math.max(0, getInt(remoteConfig, cfg, "threads", 1)); - authGroupNames = ImmutableList.copyOf( - cfg.getStringList("remote", name, "authGroup")); + authGroupNames = ImmutableList.copyOf(cfg.getStringList("remote", name, "authGroup")); lockErrorMaxRetries = cfg.getInt("replication", "lockErrorMaxRetries", 0); - createMissingRepos = - cfg.getBoolean("remote", name, "createMissingRepositories", true); - replicatePermissions = - cfg.getBoolean("remote", name, "replicatePermissions", true); - replicateProjectDeletions = - cfg.getBoolean("remote", name, "replicateProjectDeletions", false); - replicateHiddenProjects = - cfg.getBoolean("remote", name, "replicateHiddenProjects", false); - remoteNameStyle = MoreObjects.firstNonNull( - cfg.getString("remote", name, "remoteNameStyle"), "slash"); + createMissingRepos = cfg.getBoolean("remote", name, "createMissingRepositories", true); + replicatePermissions = cfg.getBoolean("remote", name, "replicatePermissions", true); + replicateProjectDeletions = cfg.getBoolean("remote", name, "replicateProjectDeletions", false); + replicateHiddenProjects = cfg.getBoolean("remote", name, "replicateHiddenProjects", false); + remoteNameStyle = + MoreObjects.firstNonNull(cfg.getString("remote", name, "remoteNameStyle"), "slash"); maxRetries = getInt( remoteConfig, cfg, "replicationMaxRetries", cfg.getInt("replication", "maxRetries", 0)); @@ -72,6 +69,10 @@ class DestinationConfiguration { return delay; } + public int getRescheduleDelay() { + return rescheduleDelay; + } + public int getRetryDelay() { return retryDelay; } @@ -128,8 +129,7 @@ class DestinationConfiguration { return maxRetries; } - private static int getInt( - RemoteConfig rc, Config cfg, String name, int defValue) { + private static int getInt(RemoteConfig rc, Config cfg, String name, int defValue) { return cfg.getInt("remote", rc.getName(), name, defValue); } } |