Merge branch 'stable-2.14' into stable-2.15
* stable-2.14:
GerritServerId: Update comment for correct location of server Id
Index{Activate,Start}Command: Include name in error message when unknown
Index start/activate command: fix unknown name use
Index start/activate commands: fix Elastic support
Change-Id: I0227ce9f054b7d904639fcd0c64183a1ab85c344
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java
index d738540..52d8a42 100644
--- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java
+++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneIndexModule.java
@@ -91,6 +91,7 @@
install(new MultiVersionModule());
} else {
install(new SingleVersionModule(singleVersions));
+ bind(VersionManager.class).to(LuceneVersionManager.class);
}
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritServerId.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritServerId.java
index 87dc44a..237f18c 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritServerId.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GerritServerId.java
@@ -22,7 +22,8 @@
/**
* Marker on a string holding a unique identifier for the server.
*
- * <p>This value is generated on first use and stored in {@code $site_path/etc/uuid}.
+ * <p>This value is generated on first use and stored in {@code gerrit.serverId} in {@code
+ * gerrit.config}.
*/
@Retention(RUNTIME)
@BindingAnnotation
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/VersionManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/VersionManager.java
index 620dd36..8aabb60 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/index/VersionManager.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/VersionManager.java
@@ -137,6 +137,16 @@
return false;
}
+ /**
+ * Tells if an index with this name is currently known or not.
+ *
+ * @param name index name
+ * @return true if index is known and can be used, otherwise false.
+ */
+ public boolean isKnownIndex(String name) {
+ return defs.get(name) != null;
+ }
+
protected <K, V, I extends Index<K, V>> void initIndex(
IndexDefinition<K, V, I> def, GerritIndexStatus cfg) {
TreeMap<Integer, Version<V>> versions = scanVersions(def, cfg);
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexActivateCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexActivateCommand.java
index 6b3e6d7..0804d08 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexActivateCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexActivateCommand.java
@@ -16,8 +16,8 @@
import com.google.gerrit.common.data.GlobalCapability;
import com.google.gerrit.extensions.annotations.RequiresCapability;
-import com.google.gerrit.lucene.LuceneVersionManager;
import com.google.gerrit.server.index.ReindexerAlreadyRunningException;
+import com.google.gerrit.server.index.VersionManager;
import com.google.gerrit.sshd.CommandMetaData;
import com.google.gerrit.sshd.SshCommand;
import com.google.inject.Inject;
@@ -30,15 +30,19 @@
@Argument(index = 0, required = true, metaVar = "INDEX", usage = "index name to activate")
private String name;
- @Inject private LuceneVersionManager luceneVersionManager;
+ @Inject private VersionManager versionManager;
@Override
protected void run() throws UnloggedFailure {
try {
- if (luceneVersionManager.activateLatestIndex(name)) {
- stdout.println("Activated latest index version");
+ if (versionManager.isKnownIndex(name)) {
+ if (versionManager.activateLatestIndex(name)) {
+ stdout.println("Activated latest index version");
+ } else {
+ stdout.println("Not activating index, already using latest version");
+ }
} else {
- stdout.println("Not activating index, already using latest version");
+ stderr.println(String.format("Cannot activate index %s: unknown", name));
}
} catch (ReindexerAlreadyRunningException e) {
throw die("Failed to activate latest index: " + e.getMessage());
diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexStartCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexStartCommand.java
index fb9b482..f3d349c 100644
--- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexStartCommand.java
+++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/IndexStartCommand.java
@@ -16,8 +16,8 @@
import com.google.gerrit.common.data.GlobalCapability;
import com.google.gerrit.extensions.annotations.RequiresCapability;
-import com.google.gerrit.lucene.LuceneVersionManager;
import com.google.gerrit.server.index.ReindexerAlreadyRunningException;
+import com.google.gerrit.server.index.VersionManager;
import com.google.gerrit.sshd.CommandMetaData;
import com.google.gerrit.sshd.SshCommand;
import com.google.inject.Inject;
@@ -34,15 +34,19 @@
@Argument(index = 0, required = true, metaVar = "INDEX", usage = "index name to start")
private String name;
- @Inject private LuceneVersionManager luceneVersionManager;
+ @Inject private VersionManager versionManager;
@Override
protected void run() throws UnloggedFailure {
try {
- if (luceneVersionManager.startReindexer(name, force)) {
- stdout.println("Reindexer started");
+ if (versionManager.isKnownIndex(name)) {
+ if (versionManager.startReindexer(name, force)) {
+ stdout.println("Reindexer started");
+ } else {
+ stdout.println("Nothing to reindex, index is already the latest version");
+ }
} else {
- stdout.println("Nothing to reindex, index is already the latest version");
+ stderr.println(String.format("Cannot reindex %s: unknown", name));
}
} catch (ReindexerAlreadyRunningException e) {
throw die("Failed to start reindexer: " + e.getMessage());