[keycloak-user] Keycloak 3.4 and Oracle Timesten

Hynek Mlnarik hmlnarik at redhat.com
Fri Feb 2 03:25:42 EST 2018


The cause is in "Unknown database: TimesTen" message from Liquibase -
Liquibase does not recognize the dialect and thus refuses to operate.
Liquibase is used to create the initial DB schema. You may try implement
class to support TimesTen similarly to EnterpriseDB [1, 2] since TimesTen
should be compatible with other Oracle Database products. Feel free to
raise a RFE though we cannot promise it would be picked anytime soon.

[1]
https://github.com/keycloak/keycloak/blob/3.4.3.Final/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/PostgresPlusDatabase.java
[2]
https://github.com/keycloak/keycloak/blob/3.4.3.Final/model/jpa/src/main/java/org/keycloak/connections/jpa/updater/liquibase/conn/DefaultLiquibaseConnectionProvider.java#L95

On Thu, Feb 1, 2018 at 7:42 AM, Upananda Singha <
upananda.singha at motorolasolutions.com> wrote:

> Hi All,
>
> Please find the configurations I am having for Timesten...
>
>
> <datasource jndi-name="java:jboss/datasources/KeycloakDS"
> pool-name="KeycloakDS" enabled="true" use-java-context="true">
> <connection-url>jdbc:timesten:client:TTC_Server=172.27.9.23;
> TTC_Server_DSN=DG_010231;TCP_PORT=53389;uid=testuser;pwd=
> testpwd;tcp_timeout=180</connection-url>
> <driver>TimesTenDriver</driver>
> <pool><max-pool-size>20</max-pool-size></pool> <security>
> <user-name>testuser</user-name> <password>testpwd</password> </security>
> </datasource> <drivers> <driver name="TimesTenDriver"
> module="com.timesten">
> <xa-datasource-class>com.timesten.jdbc.xa.TimesTenXADataSource</xa-
> datasource-class>
> </driver> module.xml configuration ("<Keycloak
> HOME>/modules/system/layers/keycloak/com/timesten/main/module.xml")
> ------------------------ <?xml version="1.0" ?> <module
> xmlns="urn:jboss:module:1.3" name="com.timesten"> <resources>
> <resource-root path="ttjdbc8.jar"/> </resources> <dependencies> <module
> name="javax.api"/> <module name="javax.transaction.api"/> </dependencies>
> </module>
>
>
> My LD_LIBRARY_PATH is havng all the Timesten libraries
> ------------------------------------------------------ libodbc.so
> libttclasses.so.gcc410 libttco.so libttJdbc.so libttutilD.so ttjdbc6.jar
> libttclassesCS.so libttclient.so libttco.so.noplsql libttjmsxla.so
> libttutil.so ttjdbc7.jar libttclassesCS.so.gcc346 libttclient.so.gcc346
> libttcrs.so libttorD.so orai18n.jar ttjdbc8.jar libttclassesCS.so.gcc410
> libttclient.so.gcc410 libttenD.so libttor.so README.TXT ucp.jar
> libttclasses.so libttcoD.so libtten.so libttplD.so timestenjmsxla.jar
> libttclasses.so.gcc346 libttcoD.so.noplsql libttJdbcCS.so libttpl.so
> ttjdbc5.jar
>
>
>
> I am getting he below error:
>
> 11:57:08,980 INFO [org.keycloak.services] (ServerService Thread Pool -- 51)
> KC-SERVICES0001: Loading config from standalone.xml or domain.xml
> 11:57:09,342 INFO [org.jboss.as.clustering.infinispan] (ServerService
> Thread Pool -- 51) WFLYCLINF0002: Started realmRevisions cache from
> keycloak container 11:57:09,352 INFO [org.jboss.as.clustering.infinispan]
> (ServerService Thread Pool -- 51) WFLYCLINF0002: Started userRevisions
> cache from keycloak container 11:57:09,359 INFO
> [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 51)
> WFLYCLINF0002: Started authorizationRevisions cache from keycloak container
> 11:57:09,359 INFO
> [org.keycloak.connections.infinispan.DefaultInfinispanConnectionPro
> viderFactory]
> (ServerService Thread Pool -- 51) Node name: proc500_9_23, Site name: null
> 11:57:09,940 ERROR [stderr] (ServerService Thread Pool -- 51) WARNING
> 2/1/18 11:57 AM: liquibase: Unknown database: TimesTen 11:57:10,108 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Failed to create lock table. Maybe other
> transaction created in the meantime. Retrying... 11:57:10,111 ERROR
> [stderr] (ServerService Thread Pool -- 51) WARNING 2/1/18 11:57 AM:
> liquibase: Unknown database: TimesTen 11:57:10,136 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Failed to create lock table. Maybe other
> transaction created in the meantime. Retrying... 11:57:10,138 ERROR
> [stderr] (ServerService Thread Pool -- 51) WARNING 2/1/18 11:57 AM:
> liquibase: Unknown database: TimesTen 11:57:10,166 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Failed to create lock table. Maybe other
> transaction created in the meantime. Retrying... 11:57:10,169 ERROR
> [stderr] (ServerService Thread Pool -- 51) WARNING 2/1/18 11:57 AM:
> liquibase: Unknown database: TimesTen 11:57:10,319 ERROR [stderr]
> (ServerService Thread Pool -- 51) WARNING 2/1/18 11:57 AM: liquibase:
> Unknown database: TimesTen 11:57:12,220 ERROR [stderr] (ServerService
> Thread Pool -- 51) WARNING 2/1/18 11:57 AM: liquibase: Unknown database:
> TimesTen 11:57:12,253 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Failed to create lock table. Maybe other
> transaction created in the meantime. Retrying... 11:57:12,255 ERROR
> [stderr] (ServerService Thread Pool -- 51) WARNING 2/1/18 11:57 AM:
> liquibase: Unknown database: TimesTen 11:57:12,277 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Failed to create lock table. Maybe other
> transaction created in the meant
> ...
> ...
> ...
> 11:57:12,767 INFO
> [org.keycloak.connections.jpa.updater.liquibase.
> LiquibaseJpaUpdaterProvider]
> (ServerService Thread Pool -- 51) Initializing database schema. Using
> changelog META-INF/jpa-changelog-master.xml 11:57:12,794 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Attempt to release lock, which is not
> owned by current transaction 11:57:12,804 WARN
> [org.keycloak.connections.jpa.updater.liquibase.lock.CustomLockService]
> (ServerService Thread Pool -- 51) Attempt to release lock, which is not
> owned by current transaction 11:57:12,807 INFO [org.jboss.as.server]
> (Thread-2) WFLYSRV0220: Server shutdown has been requested via an OS signal
> 11:57:12,819 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)
> at
> org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.
> run(UndertowDeploymentService.java:84)
> 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:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748) 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:2298)
> at
> org.jboss.resteasy.spi.ResteasyDeployment.createApplication(
> ResteasyDeployment.j
>
>
>
> Thanks & Regds,
>
> *Upananda*
>
>
>
>
> On Thu, Feb 1, 2018 at 10:46 AM, Upananda Singha <upananda.singha@
> motorolasolutions.com> wrote:
>
> > Hi all,
> >
> > I have been trying to configure Keycloak with Oracle Timesten but without
> > any success.
> >
> > Anybody ever tried Timesten as backend Database for Keycloak? It would be
> > of great help if anyone can give some pointer whether Timesten can be at
> > all
> > used with Keycloak 3.4.
> >
> > Thanks & regds,
> >
> > *Upananda *
> >
> >
> >
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user
>



-- 

--Hynek


More information about the keycloak-user mailing list