| commit | fbcd038e53d96610bc327e7d6973eeee009cdaed | [log] [tgz] |
|---|---|---|
| author | Edwin Kempin <ekempin@google.com> | Tue Jun 06 17:21:50 2017 +0200 |
| committer | Edwin Kempin <ekempin@google.com> | Fri Jun 09 09:40:27 2017 +0200 |
| tree | 1e39472ce827c777809225345fc40df1ebdd9f0a | |
| parent | ef360d8541ac636c4087935c85795f0c535b5a9e [diff] |
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()); }