ChangeField: skip PatchSets with null revisions
The revision field has notNull = false, so it may be null. Current
usages always call setRevision() on new PatchSets, but old changes in
the DB may be corrupt. Avoid an NPE when indexing these old changes.
Change-Id: I7467e94bd1b5d1b77e29dd26925463152160512d
(cherry picked from commit 849c5c8e00ed390af667a42fe387872e416c781a)
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java
index a74ef01..290bd31 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/ChangeField.java
@@ -206,7 +206,9 @@
throws OrmException {
Set<String> revisions = Sets.newHashSet();
for (PatchSet ps : input.patches(args.db)) {
- revisions.add(ps.getRevision().get());
+ if (ps.getRevision() != null) {
+ revisions.add(ps.getRevision().get());
+ }
}
return revisions;
}