Keycloak 22.0.5 DefaultCacheManager start failed

Hi, I am using keycloak in eks cluster, pod startup/restart is taking very huge time. I am running 20 pods for keycloak with infinispan enabled. Getting the below error. can you let me know what could be the issue

2023-12-26 16:59:30,468 ERROR [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000660: DefaultCacheManager start failed, stopping any running components: org.infinispan.commons.CacheException
at org.infinispan.statetransfer.StateTransferManagerImpl.waitForInitialStateTransferToComplete(StateTransferManagerImpl.java:243)
at org.infinispan.cache.impl.CacheImpl.start(CacheImpl.java:1013)
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: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.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.registry.impl.SecurityActions.getCache(SecurityActions.java:49)
at org.infinispan.registry.impl.InternalCacheRegistryImpl.startInternalCaches(InternalCacheRegistryImpl.java:136)
at org.infinispan.globalstate.impl.GlobalConfigurationManagerImpl.start(GlobalConfigurationManagerImpl.java:106)
at org.infinispan.globalstate.impl.CorePackageImpl$2.start(CorePackageImpl.java:61)
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:779)
at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:747)
at org.infinispan.manager.DefaultCacheManager.(DefaultCacheManager.java:411)
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:840)
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.statetransfer.StateTransferManagerImpl.waitForInitialStateTransferToComplete(StateTransferManagerImpl.java:236)
… 30 more
2023-12-26 16:59:30,555 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (production) mode
2023-12-26 16:59:30,556 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start caches
2023-12-26 16:59:30,556 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) For more details run the same command passing the '–v

Hello,

I have the same problem and i am in 22.0.5. Using JGroup UDP or TCP and two nodes Without Success.

2024-01-03 17:12:54,876 ERROR [org.infinispan.CONFIG] (keycloak-cache-init) ISPN000660: DefaultCacheManager start failed, stopping any running components: org.infinispan.commons.CacheException
at org.infinispan.statetransfer.StateTransferManagerImpl.waitForInitialStateTransferToComplete(StateTransferManagerImpl.java:243)

So after few search, I have found the problem with this error at starting
ISPN000088: Unable to use any JGroups configuration mechanisms provided in properties {}. Using default JGroups configuration!

After modify your cache config file. You do a build with command line like kc.sh build --cache-config-file=cache-ispn.xml

Now you need to add --optimized to use your own configuration otherwise he use the default config that is, i suppose, UDP mechanism with multicast and one default JGroup Channel named ISPN.

I add this option in my keycloack service configuration’s file and all is good.
ExecStart=/opt/keycloak/bin/kc.sh start –optimized

You can find all details in this post: [21.x] TCPPING: Unable to use any JGroups configuration mechanisms provided in properties · Issue #20397 · keycloak/keycloak · GitHub and thx to @pedroigor and @jean-christophe-manciot

Have a nice day.