Fix eviction order when linking new external ids
When an account is linked to another external id at login, the cache invalidation was made too early and the cache and index were reloaded with a stale entry. This would have impacted users linking other external ids that ended up having an inconsistent cache state: - accounts by id were correct, because external ids where loaded from DB - accounts by name were stale, because external ids where loaded from index With this fix, all the caches are consistent and the reindex happens at the right time, when the new external ids has been linked. Bug: Issue 5055 Change-Id: I9ca07d10597db482d8a0d0cb4ce19f99ddc19b10
This commit is contained in:
@@ -396,8 +396,8 @@ public class AccountManager {
|
||||
|
||||
if (who.getEmailAddress() != null) {
|
||||
byEmailCache.evict(who.getEmailAddress());
|
||||
byIdCache.evict(to);
|
||||
}
|
||||
byIdCache.evict(to);
|
||||
}
|
||||
|
||||
return new AuthResult(to, key, false);
|
||||
|
||||
Reference in New Issue
Block a user