Open
Description
Hi,
We're currently using version 2.0.0 of embedded-spring-boot-keycloak-server (Keycloak 10) on PostgreSQL and we want to upgrade the database to try out the latest official Keycloak distribution (15).
When launching Keycloak 15, configured to use our Keycloak 10 database, we get the following exception:
09:44:00,550 INFO [org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory] (ServerService Thread Pool -- 61) Database info: {databaseUrl=jdbc:postgresql://localhost/kcloakdb, databaseUser=kcloak, databaseProduct=PostgreSQL 11.1, databaseDriver=PostgreSQL JDBC Driver 42.2.23}
09:44:03,486 FATAL [org.keycloak.services] (ServerService Thread Pool -- 61) Error during startup: java.lang.RuntimeException: Exception invoking method [listUnrunChangeSets] on object [liquibase.Liquibase@7c5fb890], using arguments [null,(),false]
at org.keycloak.common.util.reflections.Reflections.invokeMethod(Reflections.java:386)
at org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.getLiquibaseUnrunChangeSets(LiquibaseJpaUpdaterProvider.java:288)
at org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.validateChangeSet(LiquibaseJpaUpdaterProvider.java:254)
at org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.validate(LiquibaseJpaUpdaterProvider.java:227)
at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.migration(DefaultJpaConnectionProviderFactory.java:315)
at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lambda$lazyInit$0(DefaultJpaConnectionProviderFactory.java:184)
at org.keycloak.models.utils.KeycloakModelUtils.suspendJtaTransaction(KeycloakModelUtils.java:758)
at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lazyInit(DefaultJpaConnectionProviderFactory.java:135)
at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:83)
at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:61)
at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:316)
at org.keycloak.models.jpa.JpaRealmProviderFactory.create(JpaRealmProviderFactory.java:63)
at org.keycloak.models.jpa.JpaRealmProviderFactory.create(JpaRealmProviderFactory.java:39)
at org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:316)
at org.keycloak.services.DefaultKeycloakSession.realmLocalStorage(DefaultKeycloakSession.java:228)
at org.keycloak.models.cache.infinispan.RealmCacheSession.getRealmDelegate(RealmCacheSession.java:149)
at org.keycloak.models.cache.infinispan.RealmCacheSession.getRealm(RealmCacheSession.java:411)
at org.keycloak.services.managers.ApplianceBootstrap.isNewInstall(ApplianceBootstrap.java:46)
at org.keycloak.services.resources.KeycloakApplication$3.run(KeycloakApplication.java:195)
at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:250)
at org.keycloak.services.resources.KeycloakApplication.bootstrap(KeycloakApplication.java:172)
at org.keycloak.services.resources.KeycloakApplication$1.run(KeycloakApplication.java:136)
at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:250)
at org.keycloak.services.resources.KeycloakApplication.startup(KeycloakApplication.java:128)
at org.keycloak.provider.wildfly.WildflyPlatform.onStartup(WildflyPlatform.java:36)
at org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:114)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:152)
at org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2835)
at org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:376)
at org.jboss.resteasy.spi.ResteasyDeployment.startInternal(ResteasyDeployment.java:288)
at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:98)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:140)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:42)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:305)
at io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:145)
at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:588)
at io.undertow.servlet.core.DeploymentManagerImpl$2.call(DeploymentManagerImpl.java:559)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:601)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:97)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:78)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.lang.Thread.run(Thread.java:748)
at org.jboss.threads.JBossThread.run(JBossThread.java:513)
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
83 change sets check sum
META-INF/jpa-changelog-1.0.0.Final.xml::1.0.0.Final-KEYCLOAK-5461::[email protected] was: 8:bda77d94bf90182a1e30c24f1c155ec7 but is now: 7:4e70412f24a3f382c82183742ec79317
META-INF/db2-jpa-changelog-1.0.0.Final.xml::1.0.0.Final-KEYCLOAK-5461::[email protected] was: 8:1ecb330f30986693d1cba9ab579fa219 but is now: 7:cb16724583e9675711801c6875114f28
META-INF/jpa-changelog-1.1.0.Beta1.xml::1.1.0.Beta1::[email protected] was: 8:cb7ace19bc6d959f305605d255d4c843 but is now: 7:0310eb8ba07cec616460794d42ade0fa
META-INF/jpa-changelog-1.1.0.Final.xml::1.1.0.Final::[email protected] was: 8:80230013e961310e6872e871be424a63 but is now: 7:5d25857e708c3233ef4439df1f93f012
META-INF/jpa-changelog-1.2.0.Beta1.xml::1.2.0.Beta1::[email protected] was: 8:67f4c20929126adc0c8e9bf48279d244 but is now: 7:c7a54a1041d58eb3817a4a883b4d4e84
META-INF/db2-jpa-changelog-1.2.0.Beta1.xml::1.2.0.Beta1::[email protected] was: 8:7311018b0b8179ce14628ab412bb6783 but is now: 7:2e01012df20974c1c2a605ef8afe25b7
META-INF/jpa-changelog-1.2.0.CR1.xml::1.2.0.RC1::[email protected] was: 8:037ba1216c3640f8785ee6b8e7c8e3c1 but is now: 7:0f08df48468428e0f30ee59a8ec01a41
META-INF/db2-jpa-changelog-1.2.0.CR1.xml::1.2.0.RC1::[email protected] was: 8:7fe6ffe4af4df289b3157de32c624263 but is now: 7:a77ea2ad226b345e7d689d366f185c8c
META-INF/jpa-changelog-1.2.0.Final.xml::1.2.0.Final::keycloak was: 8:9c136bc3187083a98745c7d03bc8a303 but is now: 7:a3377a2059aefbf3b90ebb4c4cc8e2ab
META-INF/jpa-changelog-1.3.0.xml::1.3.0::[email protected] was: 8:b5f09474dca81fb56a97cf5b6553d331 but is now: 7:04c1dbedc2aa3e9756d1a1668e003451
META-INF/jpa-changelog-1.4.0.xml::1.4.0::[email protected] was: 8:ca924f31bd2a3b219fdcfe78c82dacf4 but is now: 7:36ef39ed560ad07062d956db861042ba
META-INF/db2-jpa-changelog-1.4.0.xml::1.4.0::[email protected] was: 8:8acad7483e106416bcfa6f3b824a16cd but is now: 7:d909180b2530479a716d3f9c9eaea3d7
META-INF/jpa-changelog-1.5.0.xml::1.5.0::[email protected] was: 8:9b1266d17f4f87c78226f5055408fd5e but is now: 7:cf12b04b79bea5152f165eb41f3955f6
META-INF/jpa-changelog-1.6.1.xml::1.6.1_from15::[email protected] was: 8:d80ec4ab6dbfe573550ff72396c7e910 but is now: 7:7e32c8f05c755e8675764e7d5f514509
META-INF/jpa-changelog-1.6.1.xml::1.6.1_from16-pre::[email protected] was: 8:d86eb172171e7c20b9c849b584d147b2 but is now: 7:980ba23cc0ec39cab731ce903dd01291
META-INF/jpa-changelog-1.6.1.xml::1.6.1_from16::[email protected] was: 8:5735f46f0fa60689deb0ecdc2a0dea22 but is now: 7:2fa220758991285312eb84f3b4ff5336
META-INF/jpa-changelog-1.6.1.xml::1.6.1::[email protected] was: 8:d41d8cd98f00b204e9800998ecf8427e but is now: 7:d41d8cd98f00b204e9800998ecf8427e
META-INF/jpa-changelog-1.7.0.xml::1.7.0::[email protected] was: 8:5c1a8fd2014ac7fc43b90a700f117b23 but is now: 7:91ace540896df890cc00a0490ee52bbc
META-INF/jpa-changelog-1.8.0.xml::1.8.0::[email protected] was: 8:1f6c2c2dfc362aff4ed75b3f0ef6b331 but is now: 7:c31d1646dfa2618a9335c00e07f89f24
META-INF/jpa-changelog-1.8.0.xml::1.8.0-2::keycloak was: 8:dee9246280915712591f83a127665107 but is now: 7:df8bc21027a4f7cbbb01f6344e89ce07
META-INF/db2-jpa-changelog-1.8.0.xml::1.8.0::[email protected] was: 8:9eb2ee1fa8ad1c5e426421a6f8fdfa6a but is now: 7:f987971fe6b37d963bc95fee2b27f8df
META-INF/db2-jpa-changelog-1.8.0.xml::1.8.0-2::keycloak was: 8:dee9246280915712591f83a127665107 but is now: 7:df8bc21027a4f7cbbb01f6344e89ce07
META-INF/jpa-changelog-1.9.0.xml::1.9.0::[email protected] was: 8:d9fa18ffa355320395b86270680dd4fe but is now: 7:ed2dc7f799d19ac452cbcda56c929e47
META-INF/jpa-changelog-1.9.1.xml::1.9.1::keycloak was: 8:90cff506fedb06141ffc1c71c4a1214c but is now: 7:80b5db88a5dda36ece5f235be8757615
META-INF/db2-jpa-changelog-1.9.1.xml::1.9.1::keycloak was: 8:11a788aed4961d6d29c427c063af828c but is now: 7:1437310ed1305a9b93f8848f301726ce
META-INF/jpa-changelog-1.9.2.xml::1.9.2::keycloak was: 8:a4218e51e1faf380518cce2af5d39b43 but is now: 7:b82ffb34850fa0836be16deefc6a87c4
at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:266)
at liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:1189)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.keycloak.common.util.reflections.Reflections.invokeMethod(Reflections.java:380)
... 61 more
09:44:03,505 INFO [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 61) RESTEASY002225: Deploying javax.ws.rs.core.Application: class org.keycloak.services.resources.KeycloakApplication
The questions are:
- The database upgrade should work, correct? The database used by this project should be compatible with Keycloak's, right?
** We also tried running our database on the official Keycloak 10 and got the same result. - Can anyone point us to a good resource on configuring Keycloak to run Postgres, or how to troubleshoot this kind of problems?
** I find it odd that the stack traces seem to refer to DB2 (db2-jpa-changelog) instead of Postgres
Metadata
Metadata
Assignees
Labels
No labels