ISPN000660: Cache org.infinispan.CLIENT_SERVER_TX_TABLE start failed

Keycloak version: 21.1.2

I am running Keycloak in production. I see in the log file that Infinispan lists the other Keycloak instances that it has discovered in my network, but after a few minutes I get the following error, after which point Keycloak terminates. Any ideas?

2023-12-11 16:34:43,007 INFO  [org.infinispan.CLUSTER] (jgroups-14,XXXXXXXX-30107) ISPN000094: Received new cluster view for channel ISPN: [-- redcated list of about a dozen hostnames -- ]
2023-12-11 16:34:43,008 INFO  [org.infinispan.CLUSTER] (jgroups-14,XXXXXXXX-30107) ISPN100001: Node YYYYYYY-12841 left the cluster
2023-12-11 16:34:43,009 INFO  [org.infinispan.CLUSTER] (jgroups-14,XXXXXXXX-30107) ISPN100001: Node YYYYYYY-12841 left the cluster
2023-12-11 16:34:46,115 WARN  [org.jgroups.protocols.pbcast.NAKACK2] (jgroups-14,xxxxxxxxx-30107) JGRP000011: zzzzzzz-30107: dropped message 21298 from non-member aaaaaaa-38434 (view=[--same list of hostnames--])
2023-12-11 16:35:17,534 ERROR [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000660: Cache org.infinispan.CLIENT_SERVER_TX_TABLE start failed, stopping any running components: org.infinispan.commons.CacheConfigurationException: ISPN000659: Component org.infinispan.statetransfer.StateTransferManager failed to start
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:584)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:807)
	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:379)
	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:252)
	at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:222)
	at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1009)
	at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:504)
	at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:504)
	at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:504)
	at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:723)
	at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:669)
	at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:558)
	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:521)
	at org.infinispan.security.actions.GetCacheAction.run(GetCacheAction.java:26)
	at org.infinispan.security.actions.GetCacheAction.run(GetCacheAction.java:14)
	at org.infinispan.security.Security.doPrivileged(Security.java:56)
	at org.infinispan.globalstate.impl.SecurityActions.doPrivileged(SecurityActions.java:30)
	at org.infinispan.globalstate.impl.SecurityActions.getCache(SecurityActions.java:39)
	at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.start(GlobalConfigurationManagerImpl.java:104)
	at org.infinispan.globalstate.impl.CorePackageImpl$2.start(CorePackageImpl.java:60)
	at org.infinispan.globalstate.impl.CorePackageImpl$2.start(CorePackageImpl.java:48)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:616)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:607)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:576)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:807)
	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:379)
	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:252)
	at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:775)
	at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:743)
	at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:407)
	at org.keycloak.quarkus.runtime.storage.legacy.infinispan.CacheManagerFactory.startCacheManager(CacheManagerFactory.java:96)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.util.concurrent.CompletionException: java.lang.InterruptedException
	at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:89)
	at org.infinispan.statetransfer.StateTransferManagerImpl.start(StateTransferManagerImpl.java:123)
	at org.infinispan.statetransfer.CorePackageImpl$2.start(CorePackageImpl.java:104)
	at org.infinispan.statetransfer.CorePackageImpl$2.start(CorePackageImpl.java:83)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:616)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:607)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:576)
	... 34 more
Caused by: java.lang.InterruptedException
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096)
	at org.infinispan.commons.util.concurrent.CompletableFutures.await(CompletableFutures.java:130)
	at org.infinispan.util.concurrent.CompletionStages.join(CompletionStages.java:85)
	... 40 more

2023-12-11 16:35:17,542 ERROR [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000660: DefaultCacheManager start failed, stopping any running components: org.infinispan.commons.CacheConfigurationException: ISPN000659: Component org.infinispan.statetransfer.StateTransferManager failed to start
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:584)
  --sanme stack trace as above--

2023-12-11 16:35:17,543 INFO  [org.infinispan.CLUSTER] (keycloak-cache-init) ISPN000080: Disconnecting JGroups channel `ISPN`
2023-12-11 16:35:17,602 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (production) mode
2023-12-11 16:35:17,602 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start caches

Reproduced on Keycloak 23.0.1, though it complains about a different cache. We decided to run production with a local cache.

2023-12-13 12:44:07,356 ERROR [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000660: Cache org.infinispan.PERMISSIONS start failed, stopping any running components: org.infinispan.commons.CacheConfigurationException: ISPN000659: Component ComponentWrapper{name=org.infinispan.statetransfer.StateTransferManager, instance=StateTransferManagerImpl [org.infinispan.PERMISSIONS@E151-W22-EM-6695], status=FAILED} failed to start
	at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:584)
	at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:807)
	at org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:379)
	at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:252)
	at org.infinispan.factories.ComponentRegistry.start(ComponentRegistry.java:222)
	at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1009)
	at org.infinispan.cache.impl.AbstractDelegatingCache.start(AbstractDelegatingCache.java:504)
	at org.infinispan.manager.DefaultCacheManager.wireAndStartCache(DefaultCacheManager.java:727)
	at org.infinispan.manager.DefaultCacheManager.createCache(DefaultCacheManager.java:673)
	at org.infinispan.manager.DefaultCacheManager.internalGetCache(DefaultCacheManager.java:562)
	at org.infinispan.manager.DefaultCacheManager.getCache(DefaultCacheManager.java:525)
	at org.infinispan.security.mappers.ClusterPermissionMapper.start(ClusterPermissionMapper.java:44)