Merge "Remove unused auth.restTokenPrivateKey setting"
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
index 9a8bb51..78ffa20 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/git/SubmitOnPushIT.java
@@ -80,8 +80,6 @@
@Test
public void submitOnPushWithAnnotatedTag() throws Exception {
grant(Permission.SUBMIT, project, "refs/for/refs/heads/master");
- grant(Permission.CREATE, project, "refs/tags/*");
- grant(Permission.PUSH, project, "refs/tags/*");
PushOneCommit.AnnotatedTag tag =
new PushOneCommit.AnnotatedTag("v1.0", "annotation", admin.getIdent());
PushOneCommit push = pushFactory.create(db, admin.getIdent(), testRepo);
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AutoCommitWriter.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AutoCommitWriter.java
index 27ded17..4e47bca 100644
--- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AutoCommitWriter.java
+++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/AutoCommitWriter.java
@@ -25,13 +25,28 @@
import java.io.IOException;
/** Writer that optionally flushes/commits after every write. */
-class AutoCommitWriter extends IndexWriter {
+public class AutoCommitWriter extends IndexWriter {
private boolean autoCommit;
+ AutoCommitWriter(Directory dir, IndexWriterConfig config)
+ throws IOException {
+ this(dir, config, false);
+ }
+
AutoCommitWriter(Directory dir, IndexWriterConfig config, boolean autoCommit)
throws IOException {
super(dir, config);
- this.autoCommit = autoCommit;
+ setAutoCommit(autoCommit);
+ }
+
+ /**
+ * This method will override Gerrit configuration index.name.commitWithin
+ * until next Gerrit restart (or reconfiguration through this method).
+ *
+ * @param enable auto commit
+ */
+ public void setAutoCommit(boolean enable) {
+ this.autoCommit = enable;
}
@Override
@@ -99,7 +114,7 @@
}
}
- private void autoFlush() throws IOException {
+ public void autoFlush() throws IOException {
if (autoCommit) {
manualFlush();
}
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java
index 55ed22d..99003ee 100644
--- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java
+++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java
@@ -386,6 +386,14 @@
}
}
+ public SubIndex getOpenChangesIndex() {
+ return openIndex;
+ }
+
+ public SubIndex getClosedChangesIndex() {
+ return closedIndex;
+ }
+
private class QuerySource implements ChangeDataSource {
private final List<SubIndex> indexes;
private final Query query;
diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/SubIndex.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/SubIndex.java
index 5778008..bb69533bf 100644
--- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/SubIndex.java
+++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/SubIndex.java
@@ -47,7 +47,7 @@
import java.util.concurrent.TimeoutException;
/** Piece of the change index that is implemented as a separate Lucene index. */
-class SubIndex {
+public class SubIndex {
private static final Logger log = LoggerFactory.getLogger(SubIndex.class);
private final Directory dir;
@@ -70,13 +70,13 @@
long commitPeriod = writerConfig.getCommitWithinMs();
if (commitPeriod < 0) {
- delegateWriter = new IndexWriter(dir, writerConfig.getLuceneConfig());
+ delegateWriter = new AutoCommitWriter(dir, writerConfig.getLuceneConfig());
} else if (commitPeriod == 0) {
delegateWriter =
new AutoCommitWriter(dir, writerConfig.getLuceneConfig(), true);
} else {
final AutoCommitWriter autoCommitWriter =
- new AutoCommitWriter(dir, writerConfig.getLuceneConfig(), false);
+ new AutoCommitWriter(dir, writerConfig.getLuceneConfig());
delegateWriter = autoCommitWriter;
new ScheduledThreadPoolExecutor(1, new ThreadFactoryBuilder()
@@ -191,6 +191,10 @@
writer.deleteAll();
}
+ public TrackingIndexWriter getWriter() {
+ return writer;
+ }
+
IndexSearcher acquire() throws IOException {
return searcherManager.acquire();
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/PatchLineCommentsUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/PatchLineCommentsUtil.java
index 15519cc..7b182b1 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/PatchLineCommentsUtil.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/PatchLineCommentsUtil.java
@@ -68,7 +68,7 @@
*/
@Singleton
public class PatchLineCommentsUtil {
- public static Ordering<PatchLineComment> PLC_ORDER =
+ public static final Ordering<PatchLineComment> PLC_ORDER =
new Ordering<PatchLineComment>() {
@Override
public int compare(PatchLineComment c1, PatchLineComment c2) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_108.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_108.java
index 8cbf119..cfafb37 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_108.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_108.java
@@ -19,6 +19,7 @@
import com.google.common.collect.Multimap;
import com.google.common.collect.SetMultimap;
import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.Change.Status;
import com.google.gerrit.reviewdb.client.PatchSet;
import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.reviewdb.client.RefNames;
@@ -143,9 +144,15 @@
SetMultimap<Project.NameKey, Change.Id> openByProject =
HashMultimap.create();
for (Change c : db.changes().all()) {
- if (c.getStatus().isOpen()) {
- openByProject.put(c.getProject(), c.getId());
+ Status status = c.getStatus();
+ if (status != null && status.isClosed()) {
+ continue;
}
+
+ // The old "submitted" state is not supported anymore
+ // (thus status is null) but it was an opened state and needs
+ // to be migrated as such
+ openByProject.put(c.getProject(), c.getId());
}
return openByProject;
}