Description
Before reporting an issue
- I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
infinispan
Describe the bug
When restart existing session and process user sessions update with JpaChangesPerformer and persistent sessions feature enabled:
java.util.ConcurrentModificationException
keycloak | at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:988)
keycloak | at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer$6$1.clear(JpaChangesPerformer.java:547)
keycloak | at org.keycloak.models.sessions.infinispan.UserSessionAdapter$6.runUpdate(UserSessionAdapter.java:377)
keycloak | at org.keycloak.models.sessions.infinispan.UserSessionAdapter$6.runUpdate(UserSessionAdapter.java:365)
keycloak | at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.lambda$processUserSessionUpdate$6(JpaChangesPerformer.java:689)
keycloak | at java.base/java.lang.Iterable.forEach(Iterable.java:75)
keycloak | at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.processUserSessionUpdate(JpaChangesPerformer.java:688)
keycloak | at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.lambda$registerChange$0(JpaChangesPerformer.java:72)
keycloak | at org.keycloak.models.sessions.infinispan.changes.PersistentUpdate.perform(PersistentUpdate.java:40)
keycloak | at org.keycloak.models.utils.KeycloakModelUtils.lambda$runJobInTransaction$1(KeycloakModelUtils.java:263)
keycloak | at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransactionWithResult(KeycloakModelUtils.java:392)
keycloak | at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:262)
keycloak | at org.keycloak.models.sessions.infinispan.changes.PersistentSessionsWorker$BatchWorker.lambda$process$2(PersistentSessionsWorker.java:98)
keycloak | at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
keycloak | at org.keycloak.models.sessions.infinispan.changes.PersistentSessionsWorker$BatchWorker.lambda$process$3(PersistentSessionsWorker.java:96)
keycloak | ... 4 more
Version
26.0.0
Regression
- The issue is a regression
Expected behavior
clear() method of UserSessionEntity in JpaChangesPerformer.processUserSessionUpdate method should be excecuted without exception
Actual behavior
exception is occured
How to Reproduce?
Restart existing session with userSession.restartSession(..) method and persistent sessions feature enabled
Anything else?
No response
Activity