Varun Kancharla
Varun Kancharla

Reputation: 117

Keycloak 20 infinispan cache configuration not recognising nodes in HA mode

I have 3 nodes running in HA mode. I enabled infinispan caching for keycloak and provided caching configuration as below in keycloak.conf.

cache=ispn
cache-config-file=keycloak-cache.xml
jgroups.tcpping.initial_hosts=master1.cloud.com[7600],master2.cloud.com[7600],master3.cloud.com[7600]

Here is configuration for tcpping jgroup stack configured in keycloak-cache.xml file.

<infinispan
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:infinispan:config:11.0 http://www.infinispan.org/schemas/infinispan-config-11.0.xsd"
    xmlns="urn:infinispan:config:11.0">
<jgroups>
    <stack name="tcpping" extends="tcp">
        <TCPPING
            initial_hosts="master1.cloud.com[7600],master2.cloud.com[7600],master3.cloud.com[7600]"
            port_range="0"
            stack.combine="REPLACE"
            stack.position="MPING"
            />
    </stack>
</jgroups>

<cache-container name="keycloak">
    <transport stack="tcpping" cluster="keycloakCluster" lock-timeout="60000"/>
.....

Here is the log after starting keycloak, from the logs clearly nodes aren't discovered.

2023-05-26 02:02:32,978 INFO  [org.infinispan.CONTAINER] (keycloak-cache-init) ISPN000128: Infinispan version: Infinispan 'Triskaidekaphobia' 13.0.10.Final
2023-05-26 02:02:33,248 INFO  [org.infinispan.CLUSTER] (keycloak-cache-init) ISPN000078: Starting JGroups channel `keycloakCluster` with stack `tcpping`
2023-05-26 02:02:35,464 INFO  [org.jgroups.protocols.pbcast.GMS] (keycloak-cache-init) master1-52664: no members discovered after 2009 ms: creating cluster as coordinator
2023-05-26 02:02:35,475 INFO  [org.infinispan.CLUSTER] (keycloak-cache-init) ISPN000094: Received new cluster view for channel keycloakCluster: [master1-52664|0] (1) [master1-52664]
2023-05-26 02:02:35,519 INFO  [org.infinispan.CLUSTER] (keycloak-cache-init) ISPN000079: Channel `keycloakCluster` local address is `master1-52664`, physical addresses are `[10.0.23.5:7800]`
2023-05-26 02:02:36,178 INFO  [org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory] (main) Node name: master1-52664, Site name: null
2023-05-26 02:02:36,187 INFO  [org.keycloak.exportimport.dir.DirImportProvider] (main) Importing from directory /opt/user/keycloak/data/import
2023-05-26 02:02:36,937 INFO  [org.keycloak.services] (main) KC-SERVICES0030: Full model import requested. Strategy: IGNORE_EXISTING
2023-05-26 02:02:36,938 INFO  [org.keycloak.services] (main) KC-SERVICES0032: Import finished successfully
2023-05-26 02:02:37,198 INFO  [io.quarkus] (main) Keycloak 20.0.5 on JVM (powered by Quarkus 2.13.7.Final) started in 10.906s. Listening on: https://0.0.0.0:9099
2023-05-26 02:02:37,199 INFO  [io.quarkus] (main) Profile prod activated.

My expectation is nodes should be discovered. I added configuration by following this discussion. Can anyone suggest what is wrong here?

Upvotes: 1

Views: 1815

Answers (1)

Varun Kancharla
Varun Kancharla

Reputation: 117

I figured out solution. After adding this line <TCP bind_port="7600" /> above TCPPING tag in keycloak-cache.xml nodes started discovering themselves.

Upvotes: 0

Related Questions