ExternalIdsConsistencyChecker: Use AccountCache#getOrNull to check if account exists
Using AccountCache#getIfPresent to check if an account exists is wrong:
1. It returns null for existing accounts that were not cached yet.
2. It returns an empty AccountState instance for missing accounts that
were requested from the cache before and that are still in the cache.
Change-Id: Ie25b44c53f92720053274cd56e68058e148d389e
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalIdsConsistencyChecker.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalIdsConsistencyChecker.java
index 928349d..f74210f 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalIdsConsistencyChecker.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/externalids/ExternalIdsConsistencyChecker.java
@@ -120,7 +120,7 @@
private List<ConsistencyProblemInfo> validateExternalId(ExternalId extId) {
List<ConsistencyProblemInfo> problems = new ArrayList<>();
- if (accountCache.getIfPresent(extId.accountId()) == null) {
+ if (accountCache.getOrNull(extId.accountId()) == null) {
addError(
String.format(
"External ID '%s' belongs to account that doesn't exist: %s",