Don't index missing accounts AccountCache#get returns an empty AccountState instance for missing accounts. Rather use AccountCache#getOrNull and don't index missing accounts. Change-Id: I6984e3c9cfc452fb8991031e1a5283a6792b4d96 Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AccountIndexerImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AccountIndexerImpl.java index 58dbd34..8796360 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AccountIndexerImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AccountIndexerImpl.java
@@ -64,8 +64,13 @@ @Override public void index(Account.Id id) throws IOException { - for (Index<?, AccountState> i : getWriteIndexes()) { - i.replace(byIdCache.get(id)); + for (Index<Account.Id, AccountState> i : getWriteIndexes()) { + AccountState accountState = byIdCache.getOrNull(id); + if (accountState != null) { + i.replace(accountState); + } else { + i.delete(id); + } } fireAccountIndexedEvent(id.get()); }