Uploaded image for project: 'Red Hat build of Keycloak'
  1. Red Hat build of Keycloak
  2. RHBK-3717

NullPointerException when persisting a client session [GHI#42652]

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False

      Before reporting an issue

      [x] 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

      The following exception is thrown.

      [kc-server] Caused by: java.lang.NullPointerException
      [kc-server] 	at java.base/java.util.Objects.requireNonNull(Objects.java:233)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer$2.getId(JpaChangesPerformer.java:198)
      [kc-server] 	at org.keycloak.models.jpa.session.JpaUserSessionPersisterProvider.loadClientSession(JpaUserSessionPersisterProvider.java:440)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.mergeClientSession(JpaChangesPerformer.java:201)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.processClientSessionUpdate(JpaChangesPerformer.java:182)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.lambda$newUpdate$1(JpaChangesPerformer.java:141)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.PersistentUpdate.perform(PersistentUpdate.java:43)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.lambda$write$0(JpaChangesPerformer.java:128)
      [kc-server] 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
      [kc-server] 	at org.keycloak.models.sessions.infinispan.changes.JpaChangesPerformer.write(JpaChangesPerformer.java:128)
      

      It happens during the token refresh flow, when the cache does not have the client session and it has to be imported. I suspect the issue comes from the integration between those issues:

      Version

      main

      Regression

      [ ] The issue is a regression

      Expected behavior

      No exceptions.

      Actual behavior

      Exceptions!.

      How to Reproduce?

      In a cluster of 2 or more nodes, reduce the cache max-count to a low number (like 10) and run the Keycloak benchmark with refresh tokens.

      Anything else?

      No response

              Unassigned Unassigned
              pvlha Pavel Vlha
              Keycloak SRE
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: