diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java index 078fdafe3f..e7150ddf9b 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Daemon.java @@ -350,7 +350,7 @@ public class Daemon extends SiteProgram { modules.add(new DiffExecutorModule()); modules.add(new MimeUtil2Module()); modules.add(cfgInjector.getInstance(GerritGlobalModule.class)); - modules.add(new SearchingChangeCacheImpl.Module()); + modules.add(new SearchingChangeCacheImpl.Module(slave)); modules.add(new InternalAccountDirectory.Module()); modules.add(new DefaultCacheFactory.Module()); if (emailModule != null) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SearchingChangeCacheImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/SearchingChangeCacheImpl.java index 63a49a194e..54ec2494e3 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SearchingChangeCacheImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/SearchingChangeCacheImpl.java @@ -36,6 +36,7 @@ import com.google.inject.Provider; import com.google.inject.Singleton; import com.google.inject.TypeLiteral; import com.google.inject.name.Named; +import com.google.inject.util.Providers; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,17 +53,32 @@ public class SearchingChangeCacheImpl implements GitReferenceUpdatedListener { static final String ID_CACHE = "changes"; public static class Module extends CacheModule { + private final boolean slave; + + public Module() { + this(false); + } + + public Module(boolean slave) { + this.slave = slave; + } + @Override protected void configure() { - cache(ID_CACHE, - Project.NameKey.class, - new TypeLiteral>() {}) - .maximumWeight(0) - .loader(Loader.class); + if (slave) { + bind(SearchingChangeCacheImpl.class) + .toProvider(Providers. of(null)); + } else { + cache(ID_CACHE, + Project.NameKey.class, + new TypeLiteral>() {}) + .maximumWeight(0) + .loader(Loader.class); - bind(SearchingChangeCacheImpl.class); - DynamicSet.bind(binder(), GitReferenceUpdatedListener.class) - .to(SearchingChangeCacheImpl.class); + bind(SearchingChangeCacheImpl.class); + DynamicSet.bind(binder(), GitReferenceUpdatedListener.class) + .to(SearchingChangeCacheImpl.class); + } } }