encodingkeycloakinfinispan

EncodingException: Keycloak to Infinispan


I have configured Infinispan Cluster version 14.0 with Keycloak version 21.0.2-debian-11-r0 on EKS Cluster. When I bring up Keycloak, I am seeing below error:

org.infinispan.commons.dataconversion.EncodingException: ISPN000492: Cannot find transcoder between 'application/x-protostream' to 'application/x-jboss-marshalling'

What can be the issue? Why am I getting Encoding error using same encoding at both side?

I have used application/x-jboss-marshalling encoding in infinispan server and keycloak cache configs.

My remote-server configuration looks like

    <distributed-cache name="loginFailures" owners="2">
            <expiration lifespan="900000000000000000"/>
            <remote-store cache="loginFailures" xmlns="urn:infinispan:config:store:remote:13.0"
                          purge="false"
                          preload="false"
                          shared="true" segmented="false"
                          connect-timeout="${env.KEYCLOAK_REMOTE_ISPN_CONN_TIMEOUT:2000}">
                <remote-server host="${env.INFINISPAN_SERVER}" port="${infinispan.bind.port:11222}"/>
                <security>
                    <authentication>
                        <digest username="${env.KEYCLOAK_REMOTE_ISPN_USERNAME:keycloak}"
                                password="${env.KEYCLOAK_REMOTE_ISPN_PASSWORD:password}"
                                realm="default"/>
                    </authentication>
                </security>

                <property name="rawValues">true</property>
                <property name="marshaller">org.keycloak.cluster.infinispan.KeycloakHotRodMarshallerFactory</property>
            </remote-store>
        </distributed-cache>

Solution

  • Found fix for this. Ref: https://github.com/keycloak/keycloak/issues/20031

    Now Keycloak version 21 is working with Infinispan cache.