diff --git a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java index b932a2a080d..4da6a0ac43b 100755 --- a/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java +++ b/model/infinispan/src/main/java/org/keycloak/models/cache/infinispan/RealmAdapter.java @@ -1800,28 +1800,32 @@ public class RealmAdapter implements CachedRealmModel { @Override public ClientInitialAccessModel createClientInitialAccessModel(int expiration, int count) { - getDelegateForUpdate(); - return updated.createClientInitialAccessModel(expiration, count); + // This does not call getDelegateForUpdate() this data is never cached, and calling it would invalidate all cached realm data + return modelSupplier.get().createClientInitialAccessModel(expiration, count); } @Override public ClientInitialAccessModel getClientInitialAccessModel(String id) { - return getDelegateForUpdate().getClientInitialAccessModel(id); + // This does not call getDelegateForUpdate() this data is never cached, and calling it would invalidate all cached realm data + return modelSupplier.get().getClientInitialAccessModel(id); } @Override public void removeClientInitialAccessModel(String id) { - getDelegateForUpdate().removeClientInitialAccessModel(id); + // This does not call getDelegateForUpdate() this data is never cached, and calling it would invalidate all cached realm data + modelSupplier.get().removeClientInitialAccessModel(id); } @Override public Stream getClientInitialAccesses() { - return getDelegateForUpdate().getClientInitialAccesses(); + // This does not call getDelegateForUpdate() this data is never cached, and calling it would invalidate all cached realm data + return modelSupplier.get().getClientInitialAccesses(); } @Override public void decreaseRemainingCount(ClientInitialAccessModel clientInitialAccess) { - getDelegateForUpdate().decreaseRemainingCount(clientInitialAccess); + // This does not call getDelegateForUpdate() this data is never cached, and calling it would invalidate all cached realm data + modelSupplier.get().decreaseRemainingCount(clientInitialAccess); } @Override