--Hi,
Version 26.2.4 was working without any issues in my test environment. I tried upgrading to the newly released version 26.2.5, but I started seeing error logs in the console.
Below is the content of my cache-ispn.xml file, which was working fine in version 26.2.4:
<infinispan
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:infinispan:config:15.0 http://www.infinispan.org/schemas/infinispan-config-15.0.xsd"
xmlns="urn:infinispan:config:15.0">
<jgroups>
<stack name="mssql-jdbc-ping-tcp" extends="tcp">
<TCP external_addr="${env.JGROUPS_DISCOVERY_EXTERNAL_IP:127.0.0.1}" />
<JDBC_PING2 connection_driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
connection_username="${env.KC_DB_USERNAME}" connection_password="${env.KC_DB_PASSWORD}"
connection_url="jdbc:sqlserver://${env.KC_DB_URL_HOST}:${env.KC_DB_URL_PORT:1433};databaseName=${env.KC_DB_URL_DATABASE}${env.KC_DB_URL_PROPERTIES:}"
initialize_sql="IF NOT EXISTS (SELECT 1 FROM sys.schemas WHERE name = '${env.KC_DB_SCHEMA:dbo}') BEGIN EXEC ('CREATE SCHEMA [${env.KC_DB_SCHEMA:dbo}] AUTHORIZATION [dbo]') END; IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' AND TABLE_NAME='JGROUPS_PING' AND TABLE_SCHEMA='${env.KC_DB_SCHEMA:dbo}') CREATE TABLE ${env.KC_DB_SCHEMA:dbo}.JGROUPS_PING (address varchar(200) NOT NULL, name varchar(200) NULL, cluster_name varchar(200) NOT NULL, ip varchar(200) NOT NULL, coord bit NULL, constraint PK_JGROUPS_PING PRIMARY KEY (address));"
insert_single_sql="INSERT INTO ${env.KC_DB_SCHEMA:dbo}.JGROUPS_PING (address, name, cluster_name, ip, coord) values (?, ?, ?, '${env.JGROUPS_DISCOVERY_EXTERNAL_IP:127.0.0.1}', ?);"
delete_single_sql="DELETE FROM ${env.KC_DB_SCHEMA:dbo}.JGROUPS_PING WHERE address=?;"
select_all_pingdata_sql="SELECT address, name, ip, coord FROM ${env.KC_DB_SCHEMA:dbo}.JGROUPS_PING WHERE cluster_name=?;"
info_writer_sleep_time="500"
remove_all_data_on_view_change="true"
stack.combine="REPLACE"
stack.position="MPING" />
</stack>
</jgroups>
<cache-container name="keycloak"> ...
In my initial test, the cluster node information was not being inserted into the JGROUPS_PING table.
When I changed the following line:
"insert_single_sql="INSERT INTO ${env.KC_DB_SCHEMA:dbo}.JGROUPS_PING (address, name, cluster_name, ip, coord) values (?, ?, ?, '${env.JGROUPS_DISCOVERY_EXTERNAL_IP:127.0.0.1}', ?);"
to:
"insert_single_sql="INSERT INTO ${env.KC_DB_SCHEMA:dbo}.JGROUPS_PING (address, name, cluster_name, ip, coord) VALUES (?, ?, ?, ?, ?);"
the node information started to appear in the table correctly.
However, at this point, I am seeing the following error log in the console:
"2025-05-29 02:22:44,595 ERROR [org.jgroups.protocols.JDBC_PING2] (main) a0f8ca45903c-14147: failed clearing the table for cluster ISPN: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'jgroups'.
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:270)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1735)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:675)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:594)
keycloak-1 | at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7745)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4391)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:276)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:246)
keycloak-1 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:571)
keycloak-1 | at org.jgroups.protocols.JDBC_PING2.clearTable(JDBC_PING2.java:389)
keycloak-1 | at org.jgroups.protocols.JDBC_PING2.removeAll(JDBC_PING2.java:200)
keycloak-1 | at org.jgroups.protocols.FILE_PING.handleView(FILE_PING.java:204)
keycloak-1 | at org.jgroups.protocols.FILE_PING.down(FILE_PING.java:138)
keycloak-1 | at org.jgroups.protocols.MERGE3.down(MERGE3.java:249)
keycloak-1 | at org.jgroups.protocols.FD_SOCK2.down(FD_SOCK2.java:228)
keycloak-1 | at org.jgroups.protocols.FailureDetection.down(FailureDetection.java:149)
keycloak-1 | at org.jgroups.protocols.VERIFY_SUSPECT2.down(VERIFY_SUSPECT2.java:84)
keycloak-1 | at org.jgroups.protocols.pbcast.NAKACK2.down(NAKACK2.java:632)
keycloak-1 | at org.jgroups.protocols.UNICAST3.down(UNICAST3.java:661)
keycloak-1 | at org.jgroups.protocols.pbcast.STABLE.down(STABLE.java:269)
keycloak-1 | at org.jgroups.protocols.pbcast.GMS.installView(GMS.java:694)
keycloak-1 | at org.jgroups.protocols.pbcast.ClientGmsImpl.becomeSingletonMember(ClientGmsImpl.java:251)
keycloak-1 | at org.jgroups.protocols.pbcast.ClientGmsImpl.joinInternal(ClientGmsImpl.java:86)
keycloak-1 | at org.jgroups.protocols.pbcast.ClientGmsImpl.join(ClientGmsImpl.java:37)
keycloak-1 | at org.jgroups.protocols.pbcast.GMS.down(GMS.java:902)
keycloak-1 | at org.jgroups.protocols.FlowControl.down(FlowControl.java:201)
keycloak-1 | at org.jgroups.protocols.FlowControl.down(FlowControl.java:201)
keycloak-1 | at org.jgroups.stack.Protocol.down(Protocol.java:308)
keycloak-1 | at org.jgroups.protocols.FRAG2.down(FRAG2.java:103)
keycloak-1 | at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:948)
keycloak-1 | at org.jgroups.JChannel.down(JChannel.java:612)
keycloak-1 | at org.jgroups.JChannel._connect(JChannel.java:825)
keycloak-1 | at org.jgroups.JChannel.connect(JChannel.java:331)
keycloak-1 | at org.jgroups.JChannel.connect(JChannel.java:321)
keycloak-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.startJGroupsChannelIfNeeded(JGroupsTransport.java:581)
keycloak-1 | at org.infinispan.remoting.transport.jgroups.JGroupsTransport.start(JGroupsTransport.java:456)
keycloak-1 | at org.infinispan.remoting.transport.jgroups.CorePackageImpl$2.start(CorePackageImpl.java:65)
keycloak-1 | at org.infinispan.remoting.transport.jgroups.CorePackageImpl$2.start(CorePackageImpl.java:50)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeStart(BasicComponentRegistryImpl.java:616)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:607)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:576)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:807)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl.startDependencies(BasicComponentRegistryImpl.java:634)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl.doStartWrapper(BasicComponentRegistryImpl.java:598)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl.startWrapper(BasicComponentRegistryImpl.java:576)
keycloak-1 | at org.infinispan.factories.impl.BasicComponentRegistryImpl$ComponentWrapper.running(BasicComponentRegistryImpl.java:807)
keycloak-1 | at org.infinispan.factories.GlobalComponentRegistry.preStart(GlobalComponentRegistry.java:307)
keycloak-1 | at org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:241)
keycloak-1 | at org.infinispan.manager.DefaultCacheManager.internalStart(DefaultCacheManager.java:778)
keycloak-1 | at org.infinispan.manager.DefaultCacheManager.start(DefaultCacheManager.java:746)
keycloak-1 | at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:412)
keycloak-1 | at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.startEmbeddedCacheManager(CacheManagerFactory.java:339)
keycloak-1 | at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory.getOrCreateEmbeddedCacheManager(CacheManagerFactory.java:134)
keycloak-1 | at org.keycloak.quarkus.runtime.storage.infinispan.CacheManagerFactory_Uq0wIYR2uOCznFEYZOJeeAi-Obg_Synthetic_ClientProxy.getOrCreateEmbeddedCacheManager(Unknown Source)
keycloak-1 | at org.keycloak.quarkus.runtime.storage.infinispan.QuarkusCacheManagerProvider.getEmbeddedCacheManager(QuarkusCacheManagerProvider.java:33)
keycloak-1 | at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.lazyInit(DefaultInfinispanConnectionProviderFactory.java:211)
keycloak-1 | at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.create(DefaultInfinispanConnectionProviderFactory.java:119)
keycloak-1 | at org.keycloak.connections.infinispan.DefaultInfinispanConnectionProviderFactory.create(DefaultInfinispanConnectionProviderFactory.java:100)
keycloak-1 | at org.keycloak.services.DefaultKeycloakSession.getOrCreateProvider(DefaultKeycloakSession.java:184)
keycloak-1 | at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:173)
keycloak-1 | at org.keycloak.models.sessions.infinispan.InfinispanSingleUseObjectProviderFactory.getSingleUseObjectCache(InfinispanSingleUseObjectProviderFactory.java:82)
keycloak-1 | at org.keycloak.models.sessions.infinispan.InfinispanSingleUseObjectProviderFactory.postInit(InfinispanSingleUseObjectProviderFactory.java:129)
keycloak-1 | at org.keycloak.services.DefaultKeycloakSessionFactory.initializeProviders(DefaultKeycloakSessionFactory.java:168)
keycloak-1 | at org.keycloak.services.DefaultKeycloakSessionFactory.initProviderFactories(DefaultKeycloakSessionFactory.java:145)
keycloak-1 | at org.keycloak.services.DefaultKeycloakSessionFactory.initProviderFactories(DefaultKeycloakSessionFactory.java:126)
keycloak-1 | at org.keycloak.quarkus.runtime.integration.QuarkusKeycloakSessionFactory.init(QuarkusKeycloakSessionFactory.java:87)
keycloak-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.createSessionFactory(QuarkusKeycloakApplication.java:67)
keycloak-1 | at org.keycloak.services.resources.KeycloakApplication.startup(KeycloakApplication.java:90)
keycloak-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication.onStartupEvent(QuarkusKeycloakApplication.java:52)
keycloak-1 | at org.keycloak.quarkus.runtime.integration.jaxrs.QuarkusKeycloakApplication_Observer_onStartupEvent_GNZ8m5QenZ9h9VNelo7awjUZFDE.notify(Unknown Source)
keycloak-1 | at io.quarkus.arc.impl.EventImpl$Notifier.notifyObservers(EventImpl.java:365)
keycloak-1 | at io.quarkus.arc.impl.EventImpl$Notifier.notify(EventImpl.java:347)
keycloak-1 | at io.quarkus.arc.impl.EventImpl.fire(EventImpl.java:81)
keycloak-1 | at io.quarkus.arc.runtime.ArcRecorder.fireLifecycleEvent(ArcRecorder.java:163)
keycloak-1 | at io.quarkus.arc.runtime.ArcRecorder.handleLifecycleEvents(ArcRecorder.java:114)
keycloak-1 | at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy_0(Unknown Source)
keycloak-1 | at io.quarkus.runner.recorded.LifecycleEventsBuildStep$startupEvent1144526294.deploy(Unknown Source)
keycloak-1 | at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
keycloak-1 | at io.quarkus.runtime.Application.start(Application.java:101)
keycloak-1 | at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:121)
keycloak-1 | at io.quarkus.runtime.Quarkus.run(Quarkus.java:77)
keycloak-1 | at org.keycloak.quarkus.runtime.KeycloakMain.start(KeycloakMain.java:145)
keycloak-1 | at org.keycloak.quarkus.runtime.cli.Picocli.start(Picocli.java:1002)
keycloak-1 | at org.keycloak.quarkus.runtime.cli.command.AbstractStartCommand.run(AbstractStartCommand.java:49)
keycloak-1 | at org.keycloak.quarkus.runtime.cli.command.Start.fastStart(Start.java:79)
keycloak-1 | at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:111)
keycloak-1 | at org.keycloak.quarkus.runtime.KeycloakMain.main(KeycloakMain.java:71)
keycloak-1 | at io.quarkus.bootstrap.runner.QuarkusEntryPoint.doRun(QuarkusEntryPoint.java:68)
keycloak-1 | at io.quarkus.bootstrap.runner.QuarkusEntryPoint.main(QuarkusEntryPoint.java:36)
keycloak-1 |
keycloak-1 | 2025-05-29 02:22:44,631 DEBUG [org.jgroups.protocols.JDBC_PING2] (main) a0f8ca45903c-14147: removed a0f8ca45903c-14147 for cluster ISPN from database
keycloak-1 | 2025-05-29 02:22:44,634 DEBUG [org.jgroups.protocols.JDBC_PING2] (main) a0f8ca45903c-14147: inserted a0f8ca45903c-14147 for cluster ISPN
keycloak-1 | 2025-05-29 02:22:44,646 INFO [org.infinispan.CLUSTER] (main) ISPN000094: Received new cluster view for channel ISPN: [a0f8ca45903c-14147|0] (1) [a0f8ca45903c-14147]
keycloak-1 | 2025-05-29 02:22:44,647 DEBUG [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (main) Joined: [a0f8ca45903c-14147], Left: []
keycloak-1 | 2025-05-29 02:22:44,649 INFO [org.keycloak.infinispan.module.certificates.CertificateReloadManager] (main) Reloading JGroups Certificate
keycloak-1 | 2025-05-29 02:22:44,662 DEBUG [org.jgroups.protocols.pbcast.GMS] (main) a0f8ca45903c-14147: created cluster (first member). My view is [a0f8ca45903c-14147|0], impl is CoordGmsImpl
"
Just for your information.'Stian Thorgersen' via Keycloak User <keyclo...@googlegroups.com>, 28 May 2025 Çar, 12:07 tarihinde şunu yazdı:--
You received this message because you are subscribed to the Google Groups "Keycloak User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to keycloak-use...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/keycloak-user/CAJgngAeUWyuAGssJL%2BPQ6ECso5a4VJA6_D-kRey_QV6MZ5r2NQ%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "Keycloak User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to keycloak-use...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/keycloak-user/CAFzQ4TC21wN6zBz5AvWB%3DJQG_rqHe30ckS2tEC_TY6Xq6VX1Vg%40mail.gmail.com.
Alexander Schwartz, RHCE
He/Him
Principal Software Engineer, Keycloak Maintainer
Red Hat - Germany remote
![]() |