Fix merge Ib6aa8adbd causing 2x updates of refs/multi-site/version/*
Ib6aa8adbd doubled the binding of ProjectVersionRefUpdateImpl
to the stream event listener. This combined with the lack of a Singleton
annotation caused the triggering of a project version update twice per ref-update.
The issue was not present in stable-3.4, because the binding was
happening just once and the lack of the singleton did not have
consequences.
Change-Id: Iee3e74bd79bd49cc9dafe9317734def8c8655ef7
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/event/EventModule.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/event/EventModule.java
index 53bcbc0..5e70aca 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/event/EventModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/event/EventModule.java
@@ -20,7 +20,6 @@
import com.google.gerrit.lifecycle.LifecycleModule;
import com.google.gerrit.server.events.EventListener;
import com.google.inject.Inject;
-import com.google.inject.Scopes;
import com.google.inject.multibindings.OptionalBinder;
import com.googlesource.gerrit.plugins.multisite.Configuration;
import com.googlesource.gerrit.plugins.multisite.forwarder.events.EventTopic;
@@ -37,8 +36,6 @@
@Override
protected void configure() {
- DynamicSet.bind(binder(), EventListener.class).to(ProjectVersionRefUpdateImpl.class);
-
bind(StreamEventPublisherConfig.class)
.toInstance(
new StreamEventPublisherConfig(
@@ -51,10 +48,7 @@
OptionalBinder.newOptionalBinder(binder(), ProjectVersionRefUpdate.class);
if (configuration.getSharedRefDbConfiguration().getSharedRefDb().isEnabled()) {
DynamicSet.bind(binder(), EventListener.class).to(ProjectVersionRefUpdateImpl.class);
- projectVersionRefUpdateBinder
- .setBinding()
- .to(ProjectVersionRefUpdateImpl.class)
- .in(Scopes.SINGLETON);
+ projectVersionRefUpdateBinder.setBinding().to(ProjectVersionRefUpdateImpl.class);
}
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectVersionRefUpdateImpl.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectVersionRefUpdateImpl.java
index d412913..4d2515e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectVersionRefUpdateImpl.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/validation/ProjectVersionRefUpdateImpl.java
@@ -32,6 +32,7 @@
import com.google.gerrit.server.extensions.events.GitReferenceUpdated;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.inject.Inject;
+import com.google.inject.Singleton;
import com.googlesource.gerrit.plugins.multisite.ProjectVersionLogger;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -43,6 +44,7 @@
import org.eclipse.jgit.lib.RefUpdate;
import org.eclipse.jgit.lib.Repository;
+@Singleton
public class ProjectVersionRefUpdateImpl implements EventListener, ProjectVersionRefUpdate {
private static final FluentLogger logger = FluentLogger.forEnclosingClass();
private static final Set<RefUpdate.Result> SUCCESSFUL_RESULTS =