Followed the steps mentioned in the Readme documentation of
embedded-spring-boot-keycloak-server to setup a Keycloak cluster of two nodes using embedded Infinispan cache with TCPPING. The nodes came up and the following logs were observed on the two nodes.
Node 1:
2024-09-19 13:57:45.500 INFO 1998000 --- [ main] c.g.t.k.embedded.EmbeddedKeycloakConfig : Using infinispan configuration from jar:file:/home/ubuntu/thomas_keycloak/embedded-keycloak-server-custom-undertow-1.0.0-SNAPSHOT-INFO.jar!/BOOT-INF/classes!/infinispan.xml
2024-09-19 13:57:46.409 WARN 1998000 --- [ main] org.infinispan.PERSISTENCE : ISPN000554: jboss-marshalling is deprecated and planned for removal
2024-09-19 13:57:46.457 INFO 1998000 --- [ main] org.infinispan.CONTAINER : ISPN000556: Starting user marshaller 'org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller'
2024-09-19 13:57:46.613 INFO 1998000 --- [ main] org.infinispan.CONTAINER : ISPN000128: Infinispan version: Infinispan 'Triskaidekaphobia' 13.0.8.Final
2024-09-19 13:57:46.858 INFO 1998000 --- [ main] org.infinispan.CLUSTER : ISPN000078: Starting JGroups channel `ISPN` with stack `jgroups`
2024-09-19 13:57:46.943 WARN 1998000 --- [ main] org.jgroups.stack.Configurator : JGRP000014: STABLE.stability_delay has been deprecated: always 0
-------------------------------------------------------------------
GMS: address=ip-172-31-27-116-412, cluster=ISPN, physical address=172.31.27.116:7600
-------------------------------------------------------------------
2024-09-19 13:57:48.502 INFO 1998000 --- [ main] org.jgroups.protocols.pbcast.GMS : ip-172-31-27-116-412: no members discovered after 1502 ms: creating cluster as coordinator
2024-09-19 13:57:48.512 INFO 1998000 --- [ main] org.infinispan.CLUSTER : ISPN000094: Received new cluster view for channel ISPN: [ip-172-31-27-116-412|0] (1) [ip-172-31-27-116-412]
2024-09-19 13:57:48.574 ERROR 1998000 --- [ main] org.jgroups.JChannel : JGRP000016: exception in channelConnected callback: java.lang.NullPointerException: Cannot invoke "org.infinispan.metrics.impl.MetricsCollector.registerMetrics(Object, java.util.Collection, String, String)" because "mc" is null
2024-09-19 13:57:48.575 INFO 1998000 --- [ main] org.infinispan.CLUSTER : ISPN000079: Channel `ISPN` local address is `ip-172-31-27-116-412`, physical addresses are `[172.31.27.116:7600]`
Node 2:
2024-09-19 13:59:48.236 INFO 43876 --- [ main] c.g.t.k.embedded.EmbeddedKeycloakConfig : Using infinispan configuration from jar:file:/home/ubuntu/thomas_keycloak/embedded-keycloak-server-custom-undertow-1.0.0-SNAPSHOT-INFO.jar!/BOOT-INF/classes!/infinispan.xml
2024-09-19 13:59:49.270 WARN 43876 --- [ main] org.infinispan.PERSISTENCE : ISPN000554: jboss-marshalling is deprecated and planned for removal
2024-09-19 13:59:49.319 INFO 43876 --- [ main] org.infinispan.CONTAINER : ISPN000556: Starting user marshaller 'org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller'
2024-09-19 13:59:49.477 INFO 43876 --- [ main] org.infinispan.CONTAINER : ISPN000128: Infinispan version: Infinispan 'Triskaidekaphobia' 13.0.8.Final
2024-09-19 13:59:49.758 INFO 43876 --- [ main] org.infinispan.CLUSTER : ISPN000078: Starting JGroups channel `ISPN` with stack `jgroups`
2024-09-19 13:59:49.842 WARN 43876 --- [ main] org.jgroups.stack.Configurator : JGRP000014: STABLE.stability_delay has been deprecated: always 0
-------------------------------------------------------------------
GMS: address=ip-172-31-27-189-65026, cluster=ISPN, physical address=172.31.27.189:7600
-------------------------------------------------------------------
2024-09-19 13:59:49.960 INFO 43876 --- [ main] org.infinispan.CLUSTER : ISPN000094: Received new cluster view for channel ISPN: [ip-172-31-27-116-412|1] (2) [ip-172-31-27-116-412, ip-172-31-27-189-65026]
2024-09-19 13:59:50.019 ERROR 43876 --- [ main] org.jgroups.JChannel : JGRP000016: exception in channelConnected callback: java.lang.NullPointerException: Cannot invoke "org.infinispan.metrics.impl.MetricsCollector.registerMetrics(Object, java.util.Collection, String, String)" because "mc" is null
2024-09-19 13:59:50.021 INFO 43876 --- [ main] org.infinispan.CLUSTER : ISPN000079: Channel `ISPN` local address is `ip-172-31-27-189-65026`, physical addresses are `[172.31.27.189:7600]`
A network load balancer was placed in front of the two nodes and the Admin console was accessed. On trying to login, there were exceptions observed in the logs and the login was not successful.
2024-09-19 13:19:57.764 DEBUG 1996782 --- [ XNIO-1 task-4] o.k.a.DefaultAuthenticationFlow : invoke authenticator.authenticate: auth-username-password-form
2024-09-19 13:19:57.771 ERROR 1996782 --- [ XNIO-1 task-4] io.undertow.request : UT005023: Exception handling request to /auth/realms/master/protocol/openid-connect/auth
java.lang.NullPointerException: Cannot invoke "org.keycloak.models.RealmModel.getSsoSessionMaxLifespan()" because "realm" is null
at org.keycloak.models.sessions.infinispan.util.SessionTimeouts.getUserSessionLifespanMs(SessionTimeouts.java:54) ~[keycloak-model-infinispan-18.0.0.jar!/:18.0.0]
at org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction.commitImpl(InfinispanChangelogBasedTransaction.java:165) ~[keycloak-model-infinispan-18.0.0.jar!/:18.0.0]
at org.keycloak.models.AbstractKeycloakTransaction.commit(AbstractKeycloakTransaction.java:48) ~[keycloak-server-spi-18.0.0.jar!/:18.0.0]
at org.keycloak.services.DefaultKeycloakTransactionManager.commit(DefaultKeycloakTransactionManager.java:146) ~[keycloak-services-18.0.0.jar!/:18.0.0]
at org.keycloak.services.filters.AbstractRequestFilter.close(AbstractRequestFilter.java:64) ~[keycloak-services-18.0.0.jar!/:18.0.0]
at org.keycloak.services.filters.AbstractRequestFilter.filter(AbstractRequestFilter.java:49) ~[keycloak-services-18.0.0.jar!/:18.0.0]
From the logs, it appears the realm is null but the admin console is being accessed using hostname:port/auth which is the context path for the application. It is unlikely that the browser is causing any issues sending the right request.
Is there an updated documentation and configuration for a clustered setup with embedded Keycloak? Specifically, a working example for JDBCPING with Embedded Keycloak is required as we intend to setup the cluster on AWS Elastic Container Service where the IP addresses would change and will not remain static(to use TCPPING).
Removed one of the nodes from the cluster which contained two nodes and the admin console login works without any issues. With this observation, it is likely the cluster setup is causing an issue. Also, a network load balancer is used and the fact that things are working fine with one node proves that there are no issues with the load balancer.
Update:
After registering Infinispan SPI, there is an exception writing to the cache. I’ve verified the infinispan configuration from Keycloak source code and there are no differences. Also, the dependency version for infinispan in my Spring Boot project is 14.0.27.Final, which is the same one used in Keycloak 24.0.
infinispan.xml (using JDBCPING)
<?xml version="1.0" encoding="UTF-8"?>
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:14.0
http://www.infinispan.org/schemas/infinispan-config-14.0.xsd"
xmlns="urn:infinispan:config:14.0">
<jgroups>
<stack name="postgres-jdbc-ping-tcp" extends="tcp">
<TCP external_addr="${env.JGROUPS_DISCOVERY_EXTERNAL_IP:127.0.0.1}"/>
<JDBC_PING
connection_driver="${env.DS_DRIVER}"
connection_username="${env.DS_USERNAME}"
connection_password="${env.DS_PASSWORD}"
connection_url="${env.DS_URL}"
initialize_sql="CREATE SCHEMA IF NOT EXISTS ${env.KC_DB_SCHEMA:public}; CREATE TABLE IF NOT EXISTS ${env.KC_DB_SCHEMA:public}.JGROUPSPING (own_addr varchar(200) NOT NULL, cluster_name varchar(200) NOT NULL, bind_addr varchar(200) NOT NULL, updated timestamp default current_timestamp, ping_data BYTEA, constraint PK_JGROUPSPING PRIMARY KEY (own_addr, cluster_name))"
insert_single_sql="INSERT INTO ${env.KC_DB_SCHEMA:public}.JGROUPSPING (own_addr, cluster_name, bind_addr, updated, ping_data) values (?, ?, '${env.JGROUPS_DISCOVERY_EXTERNAL_IP:127.0.0.1}', NOW(), ?)"
delete_single_sql="DELETE FROM ${env.KC_DB_SCHEMA:public}.JGROUPSPING WHERE own_addr=? AND cluster_name=?"
select_all_pingdata_sql="SELECT ping_data, own_addr, cluster_name FROM ${env.KC_DB_SCHEMA:public}.JGROUPSPING WHERE cluster_name=?"
clear_sql="DELETE FROM ${env.KC_DB_SCHEMA:public}.JGROUPSPING WHERE cluster_name=?"
info_writer_sleep_time="500"
remove_all_data_on_view_change="true"
stack.combine="REPLACE"
stack.position="MPING"
/>
</stack>
</jgroups>
<cache-container name="keycloak">
<transport stack="postgres-jdbc-ping-tcp" lock-timeout="60000"/>
<metrics names-as-tags="true"/>
<serialization marshaller="org.infinispan.jboss.marshalling.commons.GenericJBossMarshaller">
<allow-list>
<regex>org.keycloak.*</regex>
<regex>java.util.*</regex>
</allow-list>
</serialization>
<local-cache name="realms" simple-cache="true">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<memory max-count="10000"/>
</local-cache>
<local-cache name="users" simple-cache="true">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<memory max-count="10000"/>
</local-cache>
<distributed-cache name="sessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="authenticationSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="offlineSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="clientSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="offlineClientSessions" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<distributed-cache name="loginFailures" owners="2">
<expiration lifespan="-1"/>
</distributed-cache>
<local-cache name="authorization" simple-cache="true">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<memory max-count="10000"/>
</local-cache>
<replicated-cache name="work">
<expiration lifespan="-1"/>
</replicated-cache>
<local-cache name="keys" simple-cache="true">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<expiration max-idle="3600000"/>
<memory max-count="1000"/>
</local-cache>
<distributed-cache name="actionTokens" owners="2">
<encoding>
<key media-type="application/x-java-object"/>
<value media-type="application/x-java-object"/>
</encoding>
<expiration max-idle="-1" lifespan="-1" interval="300000"/>
<memory max-count="-1"/>
</distributed-cache>
</cache-container>
</infinispan>
Exception
2024-09-21T12:08:13.731Z WARN 2046088 --- [2-31-27-116-907] org.infinispan.PERSISTENCE : ISPN000559: Cannot marshall 'class org.infinispan.marshall.protostream.impl.MarshallableUserObject'
java.io.NotSerializableException: org.keycloak.models.sessions.infinispan.changes.ReplaceFunction
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:278) ~[jboss-marshalling-river-2.1.4.Final.jar!/:2.1.4.Final]
at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58) ~[jboss-marshalling-2.1.4.Final.jar!/:2.1.4.Final]
at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:116) ~[jboss-marshalling-2.1.4.Final.jar!/:2.1.4.Final]
at org.infinispan.jboss.marshalling.commons.AbstractJBossMarshaller.objectToObjectStream(AbstractJBossMarshaller.java:73) ~[infinispan-jboss-marshalling-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.jboss.marshalling.commons.AbstractJBossMarshaller.objectToBuffer(AbstractJBossMarshaller.java:81) ~[infinispan-jboss-marshalling-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:70) ~[infinispan-commons-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:60) ~[infinispan-commons-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.impl.DelegatingUserMarshaller.objectToByteBuffer(DelegatingUserMarshaller.java:58) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.protostream.impl.MarshallableUserObject$Marshaller.write(MarshallableUserObject.java:150) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.protostream.impl.MarshallableUserObject$Marshaller.write(MarshallableUserObject.java:100) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.protostream.impl.ProtobufTagMarshallerDelegate.marshall(ProtobufTagMarshallerDelegate.java:27) ~[protostream-4.6.5.Final.jar!/:4.6.5.Final]
at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:301) ~[protostream-4.6.5.Final.jar!/:4.6.5.Final]
at org.infinispan.protostream.WrappedMessage.write(WrappedMessage.java:242) ~[protostream-4.6.5.Final.jar!/:4.6.5.Final]
at org.infinispan.protostream.ProtobufUtil.toWrappedStream(ProtobufUtil.java:162) ~[protostream-4.6.5.Final.jar!/:4.6.5.Final]
at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToOutputStream(AbstractInternalProtoStreamMarshaller.java:69) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:87) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.protostream.impl.AbstractInternalProtoStreamMarshaller.objectToByteBuffer(AbstractInternalProtoStreamMarshaller.java:92) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:637) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:626) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:617) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:383) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.cache.impl.BiFunctionMapper$Externalizer.writeObject(BiFunctionMapper.java:73) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.cache.impl.BiFunctionMapper$Externalizer.writeObject(BiFunctionMapper.java:59) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.commands.write.ComputeCommand.writeTo(ComputeCommand.java:108) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:83) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:79) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:67) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.commands.remote.SingleRpcCommand.writeTo(SingleRpcCommand.java:51) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:83) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:154) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:150) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(CacheRpcCommandExternalizer.java:85) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:655) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:370) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:351) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:180) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:173) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:301) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.marshallRequest(JGroupsTransport.java:1212) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.sendCommand(JGroupsTransport.java:1196) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.invokeCommand(JGroupsTransport.java:1025) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.rpc.RpcManagerImpl.invokeCommand(RpcManagerImpl.java:228) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.forwardToPrimary(TriangleDistributionInterceptor.java:564) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.localWriteInvocation(TriangleDistributionInterceptor.java:549) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.handleSingleKeyWriteCommand(TriangleDistributionInterceptor.java:419) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.distribution.TriangleDistributionInterceptor.visitComputeCommand(TriangleDistributionInterceptor.java:135) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.commands.write.ComputeCommand.acceptVisitor(ComputeCommand.java:130) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:59) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.BaseAsyncInterceptor.lambda$new$0(BaseAsyncInterceptor.java:27) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.InvocationSuccessFunction.apply(InvocationSuccessFunction.java:25) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers(QueueAsyncInvocationStage.java:124) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:87) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:33) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[na:na]
at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.invokeQueuedHandlers(QueueAsyncInvocationStage.java:112) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:87) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.interceptors.impl.QueueAsyncInvocationStage.accept(QueueAsyncInvocationStage.java:33) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) ~[na:na]
at org.infinispan.remoting.transport.AbstractRequest.complete(AbstractRequest.java:68) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.impl.SingleTargetRequest.onResponse(SingleTargetRequest.java:48) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.impl.RequestRepository.addResponse(RequestRepository.java:51) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processResponse(JGroupsTransport.java:1570) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.jgroups.JGroupsTransport.processMessage(JGroupsTransport.java:1471) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.infinispan.remoting.transport.jgroups.JGroupsTransport$ChannelCallbacks.up(JGroupsTransport.java:1663) ~[infinispan-core-jakarta-14.0.27.Final.jar!/:14.0.27.Final]
at org.jgroups.JChannel.up(JChannel.java:734) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:936) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.FRAG2.up(FRAG2.java:139) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.FlowControl.up(FlowControl.java:245) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.FlowControl.up(FlowControl.java:245) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:846) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:226) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.UNICAST3.deliverMessage(UNICAST3.java:1086) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.UNICAST3.addMessage(UNICAST3.java:825) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.UNICAST3.handleDataReceived(UNICAST3.java:807) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.UNICAST3.up(UNICAST3.java:456) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:680) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.VERIFY_SUSPECT2.up(VERIFY_SUSPECT2.java:105) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.FailureDetection.up(FailureDetection.java:180) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.FD_SOCK2.up(FD_SOCK2.java:189) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.MERGE3.up(MERGE3.java:274) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.Discovery.up(Discovery.java:294) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.stack.Protocol.up(Protocol.java:340) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.protocols.TP.passMessageUp(TP.java:1184) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at org.jgroups.util.SubmitToThreadPool$SingleMessageHandler.run(SubmitToThreadPool.java:107) ~[jgroups-5.2.23.Final.jar!/:5.2.23.Final]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
Caused by: org.jboss.marshalling.TraceInformation: null
2024-09-21T12:08:13.739Z ERROR 2046088 --- [2-31-27-116-907] o.i.i.impl.InvocationContextInterceptor : ISPN000136: Error executing command ComputeCommand on Cache 'sessions', writing keys [1cefdfdc-cea8-4d3a-9d89-c025a5a05f24]