[keycloak-dev] Keycloak Version 2.0.0 : MongoDB Start-up Issue.

Marek Posolda mposolda at redhat.com
Fri Jul 22 12:50:06 EDT 2016


It seems the docs is not up-to-date. Created JIRA 
https://issues.jboss.org/browse/KEYCLOAK-3357 and will be fixed in next 
version. You also need to replace:

"userSessionPersister": {
     "provider": "jpa"
},

"authorizationPersister": {
     "provider": "jpa"
},


providers with "mongo"

Marek


On 22/07/16 10:56, Stephen Merchant wrote:
>
> Hello,
>
> I am assessing standalone Keycloak version *2.0.0* configured for 
> MongoDB Version *3.2.8* persistence.
>
> I have made configuration changes to 
> /…\standalone\configuration\keycloak-server.json/ as advised here 
> <https://keycloak.gitbooks.io/server-installation-and-configuration/content/v/2.0/topics/mongo.html>.
>
> On start-up :
>
> 1)I can see the *keycloak* database get created in my MongoDB instance.
>
> 2)On standalone Keycloak startup I get the exception detailed in the 
> WildFly log snippet below.
>
> I would appreciate any advice or assistance you have to offer with 
> this issue.
>
> Thank you.
>
> 09:41:00,981 INFO [org.mongodb.driver.connection] (ServerService 
> Thread Pool -- 47) *Opened connection*[connectionId{localValue:2, 
> serverValue:14}] to localhost:27017
>
> 09:41:01,625 WARN 
> [org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory] 
> (ServerService Thread Pool -- 47) Can't rollback connection: 
> java.sql.SQLException: IJ031022: You cannot rollback with autocommit set
>
>         at 
> org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.jdbcRollback(BaseWrapperManagedConnection.java:1124)
>
>         at 
> org.jboss.jca.adapters.jdbc.WrappedConnection.rollback(WrappedConnection.java:863)
>
>         at 
> org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lazyInit(DefaultJpaConnectionProviderFactory.java:196)
>
>         at 
> org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:60)
>
>         at 
> org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:48)
>
>         at 
> org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:103)
>
>         at 
> org.keycloak.models.jpa.session.JpaUserSessionPersisterProviderFactory.create(JpaUserSessionPersisterProviderFactory.java:38)
>
>         at 
> org.keycloak.models.jpa.session.JpaUserSessionPersisterProviderFactory.create(JpaUserSessionPersisterProviderFactory.java:32)
>
>         at 
> org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:103)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.OfflineUserSessionLoader.init(OfflineUserSessionLoader.java:38)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer$1.run(InfinispanUserSessionInitializer.java:110)
>
>         at 
> org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:287)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.getOrCreateInitializerState(InfinispanUserSessionInitializer.java:107)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.startLoading(InfinispanUserSessionInitializer.java:158)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.loadPersistentSessions(InfinispanUserSessionInitializer.java:88)
>
>         at 
> org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$2.run(InfinispanUserSessionProviderFactory.java:91)
>
>         at 
> org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:287)
>
>         at 
> org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory.loadPersistentSessions(InfinispanUserSessionProviderFactory.java:82)
>
>         at 
> org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$1.onEvent(InfinispanUserSessionProviderFactory.java:71)
>
>         at 
> org.keycloak.services.DefaultKeycloakSessionFactory.publish(DefaultKeycloakSessionFactory.java:64)
>
>         at 
> org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:130)
>
>         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:422)
>
>         at 
> org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150)
>
>         at 
> org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2209)
>
>         at 
> org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:299)
>
>         at 
> org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:240)
>
>         at 
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:113)
>
>         at 
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
>
>         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:231)
>
>         at 
> io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:132)
>
>         at 
> io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:526)
>
>         at 
> org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
>
>         at 
> org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
>
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
>         at java.lang.Thread.run(Thread.java:745)
>
>         at org.jboss.threads.JBossThread.run(JBossThread.java:320)
>
> 09:41:01,670 ERROR [org.jboss.msc.service.fail] (ServerService Thread 
> Pool -- 47) MSC000001: Failed to start service 
> jboss.undertow.deployment.default-server.default-host./auth: 
> org.jboss.msc.service.StartException in service 
> jboss.undertow.deployment.default-server.default-host./auth: 
> java.lang.RuntimeException: RESTEASY003325: Failed to construct public 
> org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)
>
>         at 
> org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:85)
>
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>
>         at java.lang.Thread.run(Thread.java:745)
>
>         at org.jboss.threads.JBossThread.run(JBossThread.java:320)
>
> Caused by: java.lang.RuntimeException: RESTEASY003325: Failed to 
> construct public 
> org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)
>
>         at 
> org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:162)
>
>         at 
> org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2209)
>
>         at 
> org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:299)
>
>         at 
> org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:240)
>
>         at 
> org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:113)
>
>         at 
> org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
>
>         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:231)
>
>         at 
> io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:132)
>
>         at 
> io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:526)
>
>         at 
> org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
>
>         at 
> org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
>
>         ... 6 more
>
> Caused by: java.lang.IllegalStateException: Trying to update database, 
> but don't have a DB lock acquired
>
>         at 
> org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lazyInit(DefaultJpaConnectionProviderFactory.java:165)
>
>         at 
> org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:60)
>
>         at 
> org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:48)
>
>         at 
> org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:103)
>
>         at 
> org.keycloak.models.jpa.session.JpaUserSessionPersisterProviderFactory.create(JpaUserSessionPersisterProviderFactory.java:38)
>
>         at 
> org.keycloak.models.jpa.session.JpaUserSessionPersisterProviderFactory.create(JpaUserSessionPersisterProviderFactory.java:32)
>
>         at 
> org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:103)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.OfflineUserSessionLoader.init(OfflineUserSessionLoader.java:38)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer$1.run(InfinispanUserSessionInitializer.java:110)
>
>         at 
> org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:287)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.getOrCreateInitializerState(InfinispanUserSessionInitializer.java:107)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.startLoading(InfinispanUserSessionInitializer.java:158)
>
>         at 
> org.keycloak.models.sessions.infinispan.initializer.InfinispanUserSessionInitializer.loadPersistentSessions(InfinispanUserSessionInitializer.java:88)
>
>         at 
> org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$2.run(InfinispanUserSessionProviderFactory.java:91)
>
>         at 
> org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:287)
>
>         at 
> org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory.loadPersistentSessions(InfinispanUserSessionProviderFactory.java:82)
>
>         at 
> org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$1.onEvent(InfinispanUserSessionProviderFactory.java:71)
>
>         at 
> org.keycloak.services.DefaultKeycloakSessionFactory.publish(DefaultKeycloakSessionFactory.java:64)
>
>         at 
> org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:130)
>
>         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:422)
>
>         at 
> org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150)
>
>         ... 19 more
>
> 09:41:01,730 ERROR [org.jboss.as.controller.management-operation] 
> (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - 
> address: ([("deployment" => "keycloak-server.war")]) - failure 
> description: {"WFLYCTL0080: Failed services" => 
> {"jboss.undertow.deployment.default-server.default-host./auth" => 
> "org.jboss.msc.service.StartException in service 
> jboss.undertow.deployment.default-server.default-host./auth: 
> java.lang.RuntimeException: RESTEASY003325: Failed to construct public 
> org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)
>
>     Caused by: java.lang.RuntimeException: RESTEASY003325: Failed to 
> construct public 
> org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)
>
>     Caused by: java.lang.IllegalStateException: Trying to update 
> database, but don't have a DB lock acquired"}}
>
> 09:41:01,775 INFO [org.jboss.as.server] (ServerService Thread Pool -- 
> 44) WFLYSRV0010: Deployed "keycloak-server.war" (runtime-name : 
> "keycloak-server.war")
>
> 09:41:01,779 INFO [org.jboss.as.controller] (Controller Boot Thread) 
> WFLYCTL0183: Service status report
>
> WFLYCTL0186:   Services which failed to start:      service 
> jboss.undertow.deployment.default-server.default-host./auth: 
> org.jboss.msc.service.StartException in service 
> jboss.undertow.deployment.default-server.default-host./auth: 
> java.lang.RuntimeException: RESTEASY003325: Failed to construct public 
> org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)
>
> 09:41:01,997 INFO  [org.jboss.as] (Controller Boot Thread) 
> WFLYSRV0060: Http management interface listening on 
> http://127.0.0.1:9990/management
>
> 09:41:02,012 INFO  [org.jboss.as] (Controller Boot Thread) 
> WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
>
> 09:41:02,013 ERROR [org.jboss.as] (Controller Boot Thread) 
> WFLYSRV0026: Keycloak 2.0.0.Final (WildFly Core 2.0.10.Final) started 
> (with errors) in 7942ms - Started 414 of 799 services (2 services 
> failed or missing dependencies, 542 services are lazy, passive or 
> on-demand)
>
> Stephen Merchant
>
> Developer
>
> Gandlake Limited
>
> Crown Commercial Service Supplier
> BSI ISO/IEC 27001 certification number IS 585161
>
>
> Gandlake Limited, a Limited Liability Company registered in England 
> and Wales under number 4667925. Registered Office: Gandlake House, 
> London Road, Newbury, Berkshire. RG14 1LA. VAT Registration Number 809 
> 7164 11
>
>
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-dev/attachments/20160722/9a03a44b/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 11984 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/keycloak-dev/attachments/20160722/9a03a44b/attachment-0001.png 


More information about the keycloak-dev mailing list