Keycloak 20.0.5 with infinispan 14.0.21.Final

Im using keycloak Keycloak 20.0.5 with infinispan 14.0.21.Final and using docker compose setup is currently working without issue but im getting below warning from infinispan container once keycloak is connected to infinispan container.sometimes it’s not getting if i restart the infinispan container.Does anyone know about this?

WARN (non-blocking-thread--p2-t3) [org.infinispan.server.hotrod.Encoder2x] ISPN028029: Client /172.18.0.3:11222 keeps providing outdated topology -1

infinispan.xml

<infinispan
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="urn:infinispan:config:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
                            urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd"
      xmlns="urn:infinispan:config:13.0"
      xmlns:server="urn:infinispan:server:13.0">

   <cache-container name="keycloak" statistics="true">
      <transport cluster="${infinispan.cluster.name:ISPN}" stack="${infinispan.cluster.stack:tcp}" node-name="${infinispan.node.name:}"/>
      <security>
         <authorization/>
      </security>

    <serialization marshaller="org.infinispan.jboss.marshalling.commons.GenericJBossMarshaller">
            <allow-list>
                <class>org.keycloak.cluster.infinispan.WrapperClusterEvent</class>
                <regex>.*</regex>
            </allow-list>
    </serialization> 

    <replicated-cache name="work">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </replicated-cache>
    
    <distributed-cache name="sessions">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </distributed-cache>
    
    <distributed-cache name="authenticationSessions">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </distributed-cache>
    
    <distributed-cache name="clientSessions">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </distributed-cache>
    
    <distributed-cache name="offlineSessions">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </distributed-cache>
    
    <distributed-cache name="offlineClientSessions">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </distributed-cache>
    
    <distributed-cache name="actionTokens">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="application/x-jboss-marshalling"/>
    </distributed-cache>
    
    <distributed-cache name="loginFailures">
        <transaction mode="NON_XA" locking="PESSIMISTIC"/>
        <encoding media-type="text/plain"/>
    </distributed-cache>     
          
   </cache-container>

   <server xmlns="urn:infinispan:server:13.0">
      <interfaces>
         <interface name="public">
            <inet-address value="${infinispan.bind.address:127.0.0.1}"/>
         </interface>
      </interfaces>

      <socket-bindings default-interface="public" port-offset="${infinispan.socket.binding.port-offset:0}">
         <socket-binding name="default" port="${infinispan.bind.port:11222}"/>
         <socket-binding name="memcached" port="11221"/>
      </socket-bindings>

      <security>
         <credential-stores>
            <credential-store name="credentials" path="credentials.pfx">
               <clear-text-credential clear-text="secret"/>
            </credential-store>
         </credential-stores>
         <security-realms>
            <security-realm name="default">
               <!-- Uncomment to enable TLS on the realm -->
               <!-- server-identities>
                  <ssl>
                     <keystore path="application.keystore"
                               password="password" alias="server"
                               generate-self-signed-certificate-host="localhost"/>
                  </ssl>
               </server-identities-->
               <properties-realm groups-attribute="Roles">
                  <user-properties path="users.properties"/>
                  <group-properties path="groups.properties"/>
               </properties-realm>
            </security-realm>
         </security-realms>
      </security>

      <endpoints socket-binding="default" security-realm="default" />
   </server>
</infinispan>

cache-ispn.xml for keycloak

<?xml version="1.0" encoding="UTF-8"?>

<infinispan
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="urn:infinispan:config:13.0 http://www.infinispan.org/schemas/infinispan-config-13.0.xsd"
        xmlns="urn:infinispan:config:13.0">

    <cache-container name="keycloak">
        <transport cluster="${infinispan.cluster.name:ISPN}"  stack="tcp" lock-timeout="60000" site="site1"/>
        <local-cache name="realms">
            <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">
            <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="authorization">
            <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="keys">
            <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="sessions" owners="2">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="sessions"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache>
        <distributed-cache name="authenticationSessions" owners="2">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="authenticationSessions"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache>
        <distributed-cache name="offlineSessions" owners="2">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="offlineSessions"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache> 
        <distributed-cache name="clientSessions" owners="2">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="clientSessions"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache>
        <distributed-cache name="offlineClientSessions" owners="2">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="offlineClientSessions"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache>
        <distributed-cache name="loginFailures" owners="2">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="loginFailures"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="false"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache> 
        <distributed-cache name="actionTokens" owners="2">
                <expiration max-idle="-1" interval="300000"/>
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="actionTokens"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />

                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </distributed-cache> 
        <replicated-cache name="work">
            <remote-store xmlns="urn:infinispan:config:store:remote:13.0"
                          cache="work"
                          purge="false"
                          preload="false"
                          segmented="false"
                          shared="true"
                          raw-values="true"
                          marshaller="org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory">
                <remote-server host="${env.INFINISPAN_HOST}" port="11222" />
             
                <security>
                    <authentication server-name="infinispan">
                        <digest username="admin" password="admin" realm="default"/>
                    </authentication>
                </security>
            </remote-store>
        </replicated-cache>
    </cache-container>
</infinispan>

Hello, I have the same setup and the same problem, the only difference is that I run keycloak/infinspan in k8s. Did you find why does it happen? @dasniko May be you can help me?