Don't require secondary index when running daemon in slave mode
Add a dummy index implementation and install it when the daemon is started in slave mode. Make the reindex program exit with an error if run on a server that is configured to run in slave mode. Disable the query ssh command when in slave mode. Change-Id: Ia323d7dfc3b8f333857ba310072e41943878c11b
This commit is contained in:
@@ -55,6 +55,7 @@ import com.google.gerrit.server.config.MasterNodeStartup;
|
||||
import com.google.gerrit.server.contact.HttpContactStoreConnection;
|
||||
import com.google.gerrit.server.git.ReceiveCommitsExecutorModule;
|
||||
import com.google.gerrit.server.git.WorkQueue;
|
||||
import com.google.gerrit.server.index.DummyIndexModule;
|
||||
import com.google.gerrit.server.index.IndexModule;
|
||||
import com.google.gerrit.server.index.IndexModule.IndexType;
|
||||
import com.google.gerrit.server.mail.SignedTokenEmailTokenVerifier;
|
||||
@@ -357,6 +358,9 @@ public class Daemon extends SiteProgram {
|
||||
}
|
||||
|
||||
private AbstractModule createIndexModule() {
|
||||
if (slave) {
|
||||
return new DummyIndexModule();
|
||||
}
|
||||
IndexType indexType = IndexModule.getIndexType(cfgInjector);
|
||||
switch (indexType) {
|
||||
case LUCENE:
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.google.gerrit.extensions.registration.DynamicSet;
|
||||
import com.google.gerrit.lifecycle.LifecycleManager;
|
||||
import com.google.gerrit.lifecycle.LifecycleModule;
|
||||
import com.google.gerrit.lucene.LuceneIndexModule;
|
||||
import com.google.gerrit.pgm.util.Die;
|
||||
import com.google.gerrit.pgm.util.SiteProgram;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.reviewdb.client.Project;
|
||||
@@ -124,6 +125,7 @@ public class Reindex extends SiteProgram {
|
||||
private boolean dryRun;
|
||||
|
||||
private Injector dbInjector;
|
||||
private Config cfg;
|
||||
private Injector sysInjector;
|
||||
private ChangeIndex index;
|
||||
|
||||
@@ -131,6 +133,9 @@ public class Reindex extends SiteProgram {
|
||||
public int run() throws Exception {
|
||||
mustHaveValidSite();
|
||||
dbInjector = createDbInjector(MULTI_USER);
|
||||
cfg = dbInjector.getInstance(
|
||||
Key.get(Config.class, GerritServerConfig.class));
|
||||
checkNotSlaveMode();
|
||||
limitThreads();
|
||||
disableLuceneAutomaticCommit();
|
||||
if (version == null) {
|
||||
@@ -160,9 +165,13 @@ public class Reindex extends SiteProgram {
|
||||
return result;
|
||||
}
|
||||
|
||||
private void checkNotSlaveMode() throws Die {
|
||||
if (cfg.getBoolean("container", "slave", false)) {
|
||||
throw die("Cannot run reindex in slave mode");
|
||||
}
|
||||
}
|
||||
|
||||
private void limitThreads() {
|
||||
Config cfg =
|
||||
dbInjector.getInstance(Key.get(Config.class, GerritServerConfig.class));
|
||||
boolean usePool = cfg.getBoolean("database", "connectionpool",
|
||||
dbInjector.getInstance(DataSourceType.class).usePool());
|
||||
int poolLimit = cfg.getInt("database", "poollimit",
|
||||
|
||||
Reference in New Issue
Block a user