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 8b9e6eec88..aac40d1de6 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 @@ -401,23 +401,14 @@ public class LuceneChangeIndex implements ChangeIndex { } private Set fields(QueryOptions opts) { - // Ensure we request enough fields to construct a ChangeData. + // Ensure we request enough fields to construct a ChangeData. We need both + // change ID and project, which can either come via the Change field or + // separate fields. Set fs = opts.fields(); if (fs.contains(CHANGE.getName())) { // A Change is always sufficient. return fs; } - - if (!schema.hasField(PROJECT)) { - // Schema is not new enough to have project field. Ensure we have ID - // field, and call createOnlyWhenNoteDbDisabled from toChangeData below. - if (fs.contains(LEGACY_ID.getName())) { - return fs; - } - return Sets.union(fs, ImmutableSet.of(LEGACY_ID.getName())); - } - - // New enough schema to have project field, so ensure that is requested. if (fs.contains(PROJECT.getName()) && fs.contains(LEGACY_ID.getName())) { return fs; } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java index 398f7241d5..f1422db3ef 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/notedb/ChangeNotes.java @@ -143,6 +143,7 @@ public class ChangeNotes extends AbstractChangeNotes { private Change loadChangeFromDb(ReviewDb db, Project.NameKey project, Change.Id changeId) throws OrmException { Change change = ReviewDbUtil.unwrapDb(db).changes().get(changeId); + checkArgument(project != null, "project is required"); checkNotNull(change, "change %s not found in ReviewDb", changeId); checkArgument(change.getProject().equals(project), @@ -182,17 +183,6 @@ public class ChangeNotes extends AbstractChangeNotes { return new ChangeNotes(args, change, false, null).load(); } - // TODO(dborowitz): Remove when deleting index schemas <27. - public ChangeNotes createFromIdOnlyWhenNoteDbDisabled( - ReviewDb db, Change.Id changeId) throws OrmException { - checkState(!args.migration.readChanges(), "do not call" - + " createFromIdOnlyWhenNoteDbDisabled when NoteDb is enabled"); - Change change = ReviewDbUtil.unwrapDb(db).changes().get(changeId); - checkNotNull(change, - "change %s not found in ReviewDb", changeId); - return new ChangeNotes(args, change).load(); - } - public ChangeNotes createWithAutoRebuildingDisabled(Change change, RefCache refs) throws OrmException { return new ChangeNotes(args, change, false, refs).load(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java index c7c71a7827..b3c81f42c1 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/ChangeData.java @@ -766,11 +766,7 @@ public class ChangeData { } public Change reloadChange() throws OrmException { - if (project == null) { - notes = notesFactory.createFromIdOnlyWhenNoteDbDisabled(db, legacyId); - } else { - notes = notesFactory.create(db, project, legacyId); - } + notes = notesFactory.create(db, project, legacyId); change = notes.getChange(); if (change == null) { throw new OrmException("Unable to load change " + legacyId);