+
Skip to content

java.util.ConcurrentModificationException when process user sessions update #34093

@IUADE0TB

Description

@IUADE0TB

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载