Keycloak 18 distributed caches problem

I configured a distributed cache but it does not appear to be synchronized properly.
Can anyone give me some advice on this?

I have booted two Keycloak 18.0.2 (Quarkus) on the same VM.
Both units booted successfully and successfully logged in at the console.
The logs show the following and the cluster is successfully formed.

2022-08-18 04:42:07,634 INFO [org.infinispan.CLUSTER] (jgroups-14,ip-172-16-100-***-25122) [Context=actionTokens] ISPN100010: Finished rebalance with members [ip-172-16-100-***-25122, ip-172-16-100-***-28767], topology id 5

Then, when I made a token request to the first instance, I was able to see this session from the console of the second instance.
I think session is synchronized properly.

However, when I run the API (/realms/master/protocol/openid-connect/token/introspect) to introspect the acquired token, the first instance returned {active:true} . The second returned {active:false}.
Does this mean that the caches are not synchronized?

I would like to know why it is not synchronized and solve the problem. Can anyone give me some advice?

The command I executed is as follows:

kc.sh build --cache-config-file=cache-ispn.xml --cache=ispn --cache-stack=tcp
kc.sh start --db-url-host localhost --db-username postgres --db-password password --hostname localhost --https-key-store-password=secret
kc.sh start --http-port 8081 --https-port 8444 --db-url-host localhost --db-username postgres --db-password password --hostname localhost --https-key-store-password=secret

cache-ispn.xml is the default.(excerpt)

        <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">
            <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">
            <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>

Thanks.
Ayumi Ishii

I have self-resolved this issue.
The reason why the token introspect failed was not because the cache synchronization had failed, but because the iss values were different.
After specifying the hostname so that the iss value was the same on the two servers, the token was determined to be valid when introspecting on either server.

Thank you.