hobbit-project / platform

HOBBIT benchmarking platform
GNU General Public License v2.0
23 stars 9 forks source link

Keycloak: org.h2.jdbc.JdbcSQLException: "Feature not supported: "autoServerMode..." #140

Closed smirnp closed 6 years ago

smirnp commented 6 years ago

I have tried to deploy the platform locally, call the "docker-compose up keycloak" and receive "Feature not supported" exception ".

Should I install h2 or jetty additionally to the Requirements section on the https://github.com/hobbit-project/platform ?

Here is the full trace:

12:07:48,851 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 51) 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)
keycloak               |        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:85)
keycloak               |        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
keycloak               |        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
keycloak               |        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
keycloak               |        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
keycloak               |        at java.lang.Thread.run(Thread.java:745)
keycloak               |        at org.jboss.threads.JBossThread.run(JBossThread.java:320)
keycloak               | Caused by: java.lang.RuntimeException: RESTEASY003325: Failed to construct public org.keycloak.services.resources.KeycloakApplication(javax.servlet.ServletContext,org.jboss.resteasy.core.Dispatcher)
keycloak               |        at org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:162)
keycloak               |        at org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2209)
keycloak               |        at org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:299)
keycloak               |        at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:240)
keycloak               |        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:113)
keycloak               |        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
keycloak               |        at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
keycloak               |        at org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
keycloak               |        at io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
keycloak               |        at io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:231)
keycloak               |        at io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:132)
keycloak               |        at io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:526)
keycloak               |        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
keycloak               |        at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
keycloak               |        ... 6 more
keycloak               | Caused by: java.lang.RuntimeException: Failed to connect to database
keycloak               |        at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.getConnection(DefaultJpaConnectionProviderFactory.java:373)
keycloak               |        at org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider.lazyInit(LiquibaseDBLockProvider.java:65)
keycloak               |        at org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider.lambda$waitForLock$0(LiquibaseDBLockProvider.java:97)
keycloak               |        at org.keycloak.models.utils.KeycloakModelUtils.suspendJtaTransaction(KeycloakModelUtils.java:632)
keycloak               |        at org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider.waitForLock(LiquibaseDBLockProvider.java:95)
keycloak               |        at org.keycloak.services.resources.KeycloakApplication$1.run(KeycloakApplication.java:137)
keycloak               |        at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:236)
keycloak               |        at org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:130)
keycloak               |        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
keycloak               |        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
keycloak               |        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
keycloak               |        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
keycloak               |        at org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150)
keycloak               |        ... 19 more
keycloak               | Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/KeycloakDS
keycloak               |        at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:146)
keycloak               |        at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:66)
keycloak               |        at org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.getConnection(DefaultJpaConnectionProviderFactory.java:367)
keycloak               |        ... 31 more
keycloak               | Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/KeycloakDS
keycloak               |        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:656)
keycloak               |        at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:429)
keycloak               |        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:747)
keycloak               |        at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:138)
keycloak               |        ... 33 more
keycloak               | Caused by: javax.resource.ResourceException: IJ031084: Unable to create connection
keycloak               |        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:343)
keycloak               |        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:350)
keycloak               |        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:285)
keycloak               |        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.createConnectionEventListener(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:1319)
keycloak               |        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:496)
keycloak               |        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:626)
keycloak               |        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:598)
keycloak               |        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:590)
keycloak               |        ... 36 more
keycloak               | Caused by: org.h2.jdbc.JdbcSQLException: Feature not supported: "autoServerMode && (readOnly || fileLockMethod == NO || fileLockMethod == SERIALIZED || inMemory)" [50100-173]
keycloak               |        at org.h2.message.DbException.getJdbcSQLException(DbException.java:331)
keycloak               |        at org.h2.message.DbException.get(DbException.java:171)
keycloak               |        at org.h2.message.DbException.get(DbException.java:148)
keycloak               |        at org.h2.message.DbException.getUnsupportedException(DbException.java:206)
keycloak               |        at org.h2.engine.Database.open(Database.java:555)
keycloak               |        at org.h2.engine.Database.openDatabase(Database.java:226)
keycloak               |        at org.h2.engine.Database.<init>(Database.java:221)
keycloak               |        at org.h2.engine.Engine.openSession(Engine.java:56)
keycloak               |        at org.h2.engine.Engine.openSession(Engine.java:160)
keycloak               |        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:139)
keycloak               |        at org.h2.engine.Engine.createSession(Engine.java:122)
keycloak               |        at org.h2.engine.Engine.createSession(Engine.java:28)
keycloak               |        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:313)
keycloak               |        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:105)
keycloak               |        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:90)
keycloak               |        at org.h2.Driver.connect(Driver.java:73)
keycloak               |        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:319)
keycloak               |        ... 43 more
MichaelRoeder commented 6 years ago

The db files are read only. Can you please make sure that you have executed the following step of the setup?

Give write access to the keycloak database by performing

chmod 777 config/keycloak 
chmod 666 config/keycloak/*
smirnp commented 6 years ago

Yes, it works. Thank you!