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

Error when creating a permission ticket when there are 2 or more Keycloak servers in a cluster [GHI#35328]

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

      authorization-services

      Describe the bug

      When I have two keycloak instances running with --cache=ispn and I try creating a Permission Ticket, Keycloak throws an exception: No marshaller registered for object of Java type org.keycloak.models.cache.infinispan.authorization.events.PermissionTicketUpdatedEvent.

      Version

      26.0.6

      Regression

      [ ] The issue is a regression

      Expected behavior

      The creation of the permission ticket succeeds.

      Actual behavior

      Returns a 400 error.

      How to Reproduce?

      It can be reproduced by performing the following steps:

      • Spin up two keycloak instances with caching enabled
      • Create realm
      • Create client (with authorization)
      • Create scope
      • Create resource + scope
      • Create policy
      • Create permission
      • Create user
      • Get token (TOK)
      • Request requesting party access token (RPT)
      • Grant permission to resource

      Using the following docker compose config, run docker compose up:

      ```yaml
      name: test
      services:
      keycloak-nodes:

      image: quay.io/keycloak/keycloak:26.0.6
      environment:
        KC_BOOTSTRAP_ADMIN_USERNAME: admin
        KC_BOOTSTRAP_ADMIN_password: admin
      deploy:
        replicas: 2
        endpoint_mode: dnsrr
      command:
        [
          "start-dev",
          "--cache=ispn",
          "--http-enabled=true",
          "--hostname=http://localhost:8080",
        ]
      

      ```

      Go into the first Keycloak node: docker exec -ti test-keycloak-nodes-1 /bin/bash.

      Run the following Admin commands:

      ```sh
      export PATH=/opt/keycloak/bin:$PATH

      kcadm.sh config credentials \
      --server http://127.0.0.1:8080 --realm master \
      --user admin --password admin

      kcadm.sh create realms -s realm=demorealm \
      -s enabled=true -o

      kcadm.sh create clients -r demorealm -o \
      -s id=2d52129e-7510-41d4-b564-fc788893af4a \
      -s clientId=my_client \
      -s secret=secret \
      -s serviceAccountsEnabled=true \
      -s authorizationServicesEnabled=true

      kcadm.sh create -o clients/2d52129e-7510-41d4-b564-fc788893af4a/authz/resource-server/scope -r demorealm -s name=read

      kcadm.sh create -o clients/2d52129e-7510-41d4-b564-fc788893af4a/authz/resource-server/resource \
      -r demorealm \
      -s _id=6bb2298e-5885-4306-a4bf-f61e8f026284 \
      -s displayName="Test Resource" \
      -s ownerManagedAccess=true \
      -s name="test_resource" \
      -s 'scopes=[

      {"name":"read"}

      ]'

      kcadm.sh create -o clients/2d52129e-7510-41d4-b564-fc788893af4a/authz/resource-server/policy/client \
      -r demorealm \
      -s id=00b2298e-5885-4306-a4bf-f61e8f026284 \
      -s 'clients=["my_client"]' \
      -s logic="POSITIVE" \
      -s name="self"

      kcadm.sh create -o clients/2d52129e-7510-41d4-b564-fc788893af4a/authz/resource-server/permission/resource \
      -r demorealm \
      -s decisionStrategy="UNANIMOUS" \
      -s name="all" \
      -s 'policies=["00b2298e-5885-4306-a4bf-f61e8f026284"]' \
      -s 'resources=["6bb2298e-5885-4306-a4bf-f61e8f026284"]'

      kcadm.sh create -o users -r demorealm \
      -s username="publicuser"

      ```

      Make a note of the user's ID.

      Then for the last three steps of getting a Token (TOK), getting a requesting party access token (RPT) and adding a new permission ticket, do:

      Run docker run -ti --rm --net=test_default curlimages/curl /bin/sh:

      ```sh
      export REQ_USER="<ID FOR NEW USER CREATED FROM ABOVE>"

      curl -X POST \

      -H "Content-Type: application/x-www-form-urlencoded" \
      -d 'grant_type=client_credentials&client_id=my_client&client_secret=secret' \
      "http://test-keycloak-nodes-1:8080/realms/demorealm/protocol/openid-connect/token"
      
      1. Extract the "access_token" and put it into `TOK` variable

      curl -X POST http://test-keycloak-nodes-1:8080/realms/demorealm/protocol/openid-connect/token -H "Authorization: Bearer $TOK" --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket" --data "audience=my_client" --data "permission=test_resource#read"

      1. Extract the "access_token" and put it into `RPT` variable

      curl -X POST \

      -H "Authorization: bearer $RPT" \
      -H "Content-Type: application/json" \
      -d "{\"resource\":\"6bb2298e-5885-4306-a4bf-f61e8f026284\", \"requester\":\"${REQ_USER}\", \"granted\": true, \"scopeName\": \"read\"}" \
      "http://test-keycloak-nodes-1:8080/realms/demorealm/authz/protection/permission/ticket"
      

      ```

      The last step produces the error:

      ```
      keycloak-nodes-1 | 2024-11-27 01:54:32,084 WARN [org.infinispan.PERSISTENCE] (executor-thread-28) ISPN000559: Cannot marshall 'class org.infinispan.marshall.protostream.impl.MarshallableUserObject': java.lang.IllegalArgumentException: No marshaller registered for object of Java type org.keycloak.models.cache.infinispan.authorization.events.PermissionTicketUpdatedEvent : PermissionTicketUpdatedEvent [ id=b35191bf-a7bb-4537-bbd8-92d22191d783, name=6bb2298e-5885-4306-a4bf-f61e8f026284]
      keycloak-nodes-1 | at org.infinispan.protostream.impl.SerializationContextImpl.getMarshallerDelegate(SerializationContextImpl.java:541)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.writeCustomObject(WrappedMessage.java:300)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:250)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage$1.write(WrappedMessage.java:780)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage$1.write(WrappedMessage.java:761)
      keycloak-nodes-1 | at org.infinispan.protostream.impl.ProtobufTagMarshallerDelegate.marshall(ProtobufTagMarshallerDelegate.java:27)
      keycloak-nodes-1 | at org.infinispan.protostream.annotations.impl.GeneratedMarshallerBase.writeMessage(GeneratedMarshallerBase.java:36)
      keycloak-nodes-1 | at org.infinispan.protostream.annotations.impl.GeneratedMarshallerBase.writeNestedMessage(GeneratedMarshallerBase.java:49)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.WrapperClusterEvent$__Marshaller_3dbae76c912e25e468f73f3abc96c093640ece575ca7bebb2666feff04f77c60.write(WrapperClusterEvent$__Marshaller_3dbae76c912e25e468f73f3abc96c093640ece575ca7bebb2666feff04f77c60.java:118)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.WrapperClusterEvent$__Marshaller_3dbae76c912e25e468f73f3abc96c093640ece575ca7bebb2666feff04f77c60.write(WrapperClusterEvent$__Marshaller_3dbae76c912e25e468f73f3abc96c093640ece575ca7bebb2666feff04f77c60.java:15)
      keycloak-nodes-1 | at org.infinispan.protostream.impl.ProtobufTagMarshallerDelegate.marshall(ProtobufTagMarshallerDelegate.java:27)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.writeCustomObject(WrappedMessage.java:320)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:250)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.write(WrappedMessage.java:243)
      keycloak-nodes-1 | at org.infinispan.protostream.ProtobufUtil.toWrappedByteBuffer(ProtobufUtil.java:152)
      keycloak-nodes-1 | at org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller.objectToBuffer(ImmutableProtoStreamMarshaller.java:55)
      keycloak-nodes-1 | at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:70)
      keycloak-nodes-1 | at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:60)
      keycloak-nodes-1 | at org.infinispan.marshall.core.impl.DelegatingUserMarshaller.objectToByteBuffer(DelegatingUserMarshaller.java:58)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.MarshallableUserObject$Marshaller.write(MarshallableUserObject.java:151)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.MarshallableUserObject$Marshaller.write(MarshallableUserObject.java:101)
      keycloak-nodes-1 | at org.infinispan.protostream.impl.ProtobufTagMarshallerDelegate.marshall(ProtobufTagMarshallerDelegate.java:27)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.writeCustomObject(WrappedMessage.java:320)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:250)
      keycloak-nodes-1 | at org.infinispan.protostream.WrappedMessage.write(WrappedMessage.java:243)
      keycloak-nodes-1 | at org.infinispan.protostream.ProtobufUtil.toWrappedStream(ProtobufUtil.java:161)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToOutputStream(AbstractInternalProtoStreamMarshaller.java:69)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:87)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:92)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:637)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:626)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:617)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:383)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.writeTo(PutKeyValueCommand.java:85)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:88)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:84)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:70)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
      keycloak-nodes-1 | at org.infinispan.commands.remote.SingleRpcCommand.writeTo(SingleRpcCommand.java:53)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:88)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:155)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:151)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:84)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:180)
      loadbalancer-1 | 172.29.0.1 - - [27/Nov/2024:01:54:32 +0000] "POST /realms/demorealm/authz/protection/permission/ticket HTTP/1.1" 500 94 "" "curl/8.4.0" ""
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:173)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:301)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1193)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1177)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeCommand(JGroupsTransport.java:993)
      keycloak-nodes-1 | at org.infinispan.remoting.rpc.RpcManagerImpl.invokeCommand(RpcManagerImpl.java:239)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.invokeRemotely(BaseDistributionInterceptor.java:697)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.handleNonTxWriteCommand(BaseDistributionInterceptor.java:224)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.NonTxDistributionInterceptor.visitPutKeyValueCommand(NonTxDistributionInterceptor.java:113)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.asyncInvokeNext(BaseAsyncInterceptor.java:231)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:732)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:335)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:134)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:41)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:82)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:187)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:312)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:256)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:233)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:196)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      keycloak-nodes-1 | at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:60)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:127)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:238)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.doInvoke(InvocationHelper.java:329)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:112)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:94)
      keycloak-nodes-1 | at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1303)
      keycloak-nodes-1 | at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:687)
      keycloak-nodes-1 | at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:212)
      keycloak-nodes-1 | at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:121)
      keycloak-nodes-1 | at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:121)
      keycloak-nodes-1 | at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:191)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.InfinispanNotificationsManager.notify(InfinispanNotificationsManager.java:158)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.InfinispanClusterProvider.notify(InfinispanClusterProvider.java:135)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.CacheManager.sendInvalidationEvents(CacheManager.java:211)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession.runInvalidations(StoreFactoryCacheSession.java:249)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession$2.commit(StoreFactoryCacheSession.java:209)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:146)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakSession.closeTransactionManager(DefaultKeycloakSession.java:396)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakSession.close(DefaultKeycloakSession.java:361)
      keycloak-nodes-1 | at org.keycloak.models.KeycloakBeanProducer_ProducerMethod_getKeycloakSession_XoSEUTXOsE3bpqXlGMAykCiECUM_ClientProxy.close(Unknown Source)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.transaction.TransactionalSessionHandler.close(TransactionalSessionHandler.java:60)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.closeSession(CloseSessionFilter.java:67)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.filter(CloseSessionFilter.java:63)
      keycloak-nodes-1 | at org.jboss.resteasy.reactive.server.handlers.ResourceResponseFilterHandler.handle(ResourceResponseFilterHandler.java:25)
      keycloak-nodes-1 | at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:150)
      keycloak-nodes-1 | at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
      keycloak-nodes-1 | at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:635)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
      keycloak-nodes-1 | at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
      keycloak-nodes-1 | at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
      keycloak-nodes-1 | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      keycloak-nodes-1 | at java.base/java.lang.Thread.run(Thread.java:1583)
      keycloak-nodes-1 |
      keycloak-nodes-1 | 2024-11-27 01:54:32,085 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (executor-thread-28) ISPN000136: Error executing command PutKeyValueCommand on Cache 'work', writing keys [586b4273-8718-4125-babb-ec516ddeee1e]: org.infinispan.commons.marshall.MarshallingException: No marshaller registered for object of Java type org.keycloak.models.cache.infinispan.authorization.events.PermissionTicketUpdatedEvent : PermissionTicketUpdatedEvent [ id=b35191bf-a7bb-4537-bbd8-92d22191d783, name=6bb2298e-5885-4306-a4bf-f61e8f026284]
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToOutputStream(AbstractInternalProtoStreamMarshaller.java:75)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:87)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:92)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:637)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:626)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:617)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:383)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.writeTo(PutKeyValueCommand.java:85)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:88)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:84)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:70)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
      keycloak-nodes-1 | at org.infinispan.commands.remote.SingleRpcCommand.writeTo(SingleRpcCommand.java:53)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:88)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:155)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:151)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:84)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:180)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:173)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:301)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1193)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1177)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeCommand(JGroupsTransport.java:993)
      keycloak-nodes-1 | at org.infinispan.remoting.rpc.RpcManagerImpl.invokeCommand(RpcManagerImpl.java:239)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.invokeRemotely(BaseDistributionInterceptor.java:697)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.handleNonTxWriteCommand(BaseDistributionInterceptor.java:224)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.NonTxDistributionInterceptor.visitPutKeyValueCommand(NonTxDistributionInterceptor.java:113)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.asyncInvokeNext(BaseAsyncInterceptor.java:231)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:732)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:335)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:134)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:41)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:82)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:187)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:312)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:256)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:233)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:196)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      keycloak-nodes-1 | at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:60)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:127)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:238)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.doInvoke(InvocationHelper.java:329)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:112)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:94)
      keycloak-nodes-1 | at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1303)
      keycloak-nodes-1 | at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:687)
      keycloak-nodes-1 | at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:212)
      keycloak-nodes-1 | at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:121)
      keycloak-nodes-1 | at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:121)
      keycloak-nodes-1 | at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:191)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.InfinispanNotificationsManager.notify(InfinispanNotificationsManager.java:158)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.InfinispanClusterProvider.notify(InfinispanClusterProvider.java:135)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.CacheManager.sendInvalidationEvents(CacheManager.java:211)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession.runInvalidations(StoreFactoryCacheSession.java:249)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession$2.commit(StoreFactoryCacheSession.java:209)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:146)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakSession.closeTransactionManager(DefaultKeycloakSession.java:396)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakSession.close(DefaultKeycloakSession.java:361)
      keycloak-nodes-1 | at org.keycloak.models.KeycloakBeanProducer_ProducerMethod_getKeycloakSession_XoSEUTXOsE3bpqXlGMAykCiECUM_ClientProxy.close(Unknown Source)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.transaction.TransactionalSessionHandler.close(TransactionalSessionHandler.java:60)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.closeSession(CloseSessionFilter.java:67)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.filter(CloseSessionFilter.java:63)
      keycloak-nodes-1 | at org.jboss.resteasy.reactive.server.handlers.ResourceResponseFilterHandler.handle(ResourceResponseFilterHandler.java:25)
      keycloak-nodes-1 | at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:150)
      keycloak-nodes-1 | at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
      keycloak-nodes-1 | at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:635)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
      keycloak-nodes-1 | at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
      keycloak-nodes-1 | at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
      keycloak-nodes-1 | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      keycloak-nodes-1 | at java.base/java.lang.Thread.run(Thread.java:1583)
      keycloak-nodes-1 |
      keycloak-nodes-1 | 2024-11-27 01:54:32,086 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (executor-thread-28) Uncaught server error: org.infinispan.commons.marshall.MarshallingException: No marshaller registered for object of Java type org.keycloak.models.cache.infinispan.authorization.events.PermissionTicketUpdatedEvent : PermissionTicketUpdatedEvent [ id=b35191bf-a7bb-4537-bbd8-92d22191d783, name=6bb2298e-5885-4306-a4bf-f61e8f026284]
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToOutputStream(AbstractInternalProtoStreamMarshaller.java:75)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:87)
      keycloak-nodes-1 | at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:92)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:637)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:626)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:617)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:383)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.writeTo(PutKeyValueCommand.java:85)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:88)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:84)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:70)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
      keycloak-nodes-1 | at org.infinispan.commands.remote.SingleRpcCommand.writeTo(SingleRpcCommand.java:53)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:88)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:155)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:151)
      keycloak-nodes-1 | at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:84)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:180)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:173)
      keycloak-nodes-1 | at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:301)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1193)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1177)
      keycloak-nodes-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeCommand(JGroupsTransport.java:993)
      keycloak-nodes-1 | at org.infinispan.remoting.rpc.RpcManagerImpl.invokeCommand(RpcManagerImpl.java:239)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.invokeRemotely(BaseDistributionInterceptor.java:697)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.BaseDistributionInterceptor.handleNonTxWriteCommand(BaseDistributionInterceptor.java:224)
      keycloak-nodes-1 | at org.infinispan.interceptors.distribution.NonTxDistributionInterceptor.visitPutKeyValueCommand(NonTxDistributionInterceptor.java:113)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.asyncInvokeNext(BaseAsyncInterceptor.java:231)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:732)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:335)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:134)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:41)
      keycloak-nodes-1 | at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitPutKeyValueCommand(AbstractLockingInterceptor.java:82)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndHandle(BaseAsyncInterceptor.java:187)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:312)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:256)
      keycloak-nodes-1 | at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:96)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.CacheMgmtInterceptor.updateStoreStatistics(CacheMgmtInterceptor.java:233)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:196)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:58)
      keycloak-nodes-1 | at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54)
      keycloak-nodes-1 | at org.infinispan.interceptors.DDAsyncInterceptor.visitPutKeyValueCommand(DDAsyncInterceptor.java:60)
      keycloak-nodes-1 | at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:65)
      keycloak-nodes-1 | at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:127)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90)
      keycloak-nodes-1 | at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:238)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.doInvoke(InvocationHelper.java:329)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:112)
      keycloak-nodes-1 | at org.infinispan.cache.impl.InvocationHelper.invoke(InvocationHelper.java:94)
      keycloak-nodes-1 | at org.infinispan.cache.impl.CacheImpl.put(CacheImpl.java:1303)
      keycloak-nodes-1 | at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:687)
      keycloak-nodes-1 | at org.infinispan.cache.impl.DecoratedCache.put(DecoratedCache.java:212)
      keycloak-nodes-1 | at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:121)
      keycloak-nodes-1 | at org.infinispan.cache.impl.AbstractDelegatingCache.put(AbstractDelegatingCache.java:121)
      keycloak-nodes-1 | at org.infinispan.cache.impl.EncoderCache.put(EncoderCache.java:191)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.InfinispanNotificationsManager.notify(InfinispanNotificationsManager.java:158)
      keycloak-nodes-1 | at org.keycloak.cluster.infinispan.InfinispanClusterProvider.notify(InfinispanClusterProvider.java:135)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.CacheManager.sendInvalidationEvents(CacheManager.java:211)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession.runInvalidations(StoreFactoryCacheSession.java:249)
      keycloak-nodes-1 | at org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession$2.commit(StoreFactoryCacheSession.java:209)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:146)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakSession.closeTransactionManager(DefaultKeycloakSession.java:396)
      keycloak-nodes-1 | at org.keycloak.services.DefaultKeycloakSession.close(DefaultKeycloakSession.java:361)
      keycloak-nodes-1 | at org.keycloak.models.KeycloakBeanProducer_ProducerMethod_getKeycloakSession_XoSEUTXOsE3bpqXlGMAykCiECUM_ClientProxy.close(Unknown Source)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.transaction.TransactionalSessionHandler.close(TransactionalSessionHandler.java:60)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.closeSession(CloseSessionFilter.java:67)
      keycloak-nodes-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.CloseSessionFilter.filter(CloseSessionFilter.java:63)
      keycloak-nodes-1 | at org.jboss.resteasy.reactive.server.handlers.ResourceResponseFilterHandler.handle(ResourceResponseFilterHandler.java:25)
      keycloak-nodes-1 | at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:150)
      keycloak-nodes-1 | at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
      keycloak-nodes-1 | at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:635)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
      keycloak-nodes-1 | at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
      keycloak-nodes-1 | at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
      keycloak-nodes-1 | at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
      keycloak-nodes-1 | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
      keycloak-nodes-1 | at java.base/java.lang.Thread.run(Thread.java:1583)
      keycloak-nodes-1 |
      ```

      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: