Unable to apply clustering and distributed cache configuration

Hi
I’m trying to configure clustering and distributed cache configuration in a 2 nodes keycloak 24.0.3 installation, following Configuring distributed caches - Keycloak.

This is the head of my cache.xml file

<jgroups>
    <stack name="tcp-ping-stack" extends="tcp">
            <TCP external_addr="192.168.1.10" bind_addr="192.168.1.10" bind_port="7800" />
            <TCPPING
                    initial_hosts="192.168.1.10[7800],192.168.1.11[7800]"
                    stack.combine="REPLACE"
                    stack.position="MPING"
                    num_initial_members="2"
            />
    </stack>
</jgroups>
......

I build config with

/kc.sh build --cache-config-file=cache.xml --cache=ispn --cache-stack=tcp

This is kc.sh show-config output

Current Configuration:

  •    kc.cache =  ispn (PropertiesConfigSource[source=file:/opt/fiam/fusion-iams-keycloak-installer-17.0.0/bin/../conf/keycloak.conf])*
    
  •    kc.cache-config-file =  cache.xml (PersistedConfigSource)*
    
  •    kc.cache-stack =  tcp (PropertiesConfigSource[source=file:/opt/fiam/fusion-iams-keycloak-installer-17.0.0/bin/../conf/keycloak.conf])*
    
  •    kc.config.built =  true (SysPropConfigSource)*
    

I can see in log this error because ‘owners’ is not recognized

2024-07-09 15:09:48.878Z ERROR [ main] o.k.q.r.c.ExecutionExceptionHandler {{}} ERROR: Failed to start server in (production) mode
2024-07-09 15:09:48.878Z ERROR [ main] o.k.q.r.c.ExecutionExceptionHandler {{}} ERROR: Failed to start caches
2024-07-09 15:09:48.878Z ERROR [ main] o.k.q.r.c.ExecutionExceptionHandler {{}} ERROR: org.infinispan.commons.CacheConfigurationException: Unexpected attribute ‘owners’ encountered[58,49]

Please any ideas?
Thanks

You can’t use cache-stack and cache-config-file together.
If you use a custom file, you will have not just to set the jgroups node, but also the complete infinispan node (e.g. from the default file delivered with KC).

Oh thanks for your fast response. Not using cache-stack and cache-config-file together has been the key to fix my problem, the rest has been minors errors

1 Like