[keycloak-user] Getting error while doing HA in docker

Sebastian Laskawiec slaskawi at redhat.com
Mon Aug 26 05:14:03 EDT 2019


Hey Vijay,

So the root case is that JGroups can not create its own table. This may
happen due to many things, including:
- Not sufficient permissions to create tables
- `initialize_sql` property is empty, see [1]
- Wrong database credentials or database address

You might be interested in the follow-up article I've written a couple of
weeks ago: https://www.keycloak.org/2019/08/keycloak-jdbc-ping.html

Thanks,
Sebastian

[1] http://jgroups.org/manual/#_jdbc_ping

On Sun, Aug 25, 2019 at 9:56 PM vijay <vijaybaliyan at gmail.com> wrote:

> Hi,
>
> I am getting the below error message while setting up two containers in
> single host. Followed this document to setup -
> https://www.keycloak.org/2019/04/keycloak-cluster-setup.html
>
>
> 19:37:43,485 ERROR [org.jgroups.protocols.JDBC_PING]
> (thread-9,ejb,568064445f53) JGRP000138: Error reading JDBC_PING table:
> org.postgresql.util.PSQLException: ERROR: relation "jgroupsping" does not
> exist
>   Position: 47
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)
>         at
> org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
>         at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:143)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:106)
>         at
>
> org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
>         at org.jgroups.protocols.JDBC_PING.readAll(JDBC_PING.java:225)
>         at org.jgroups.protocols.JDBC_PING.readAll(JDBC_PING.java:197)
>         at org.jgroups.protocols.FILE_PING.findMembers(FILE_PING.java:124)
>         at
> org.jgroups.protocols.Discovery.invokeFindMembers(Discovery.java:214)
>         at org.jgroups.protocols.Discovery.findMembers(Discovery.java:239)
>         at org.jgroups.protocols.Discovery.down(Discovery.java:386)
>         at org.jgroups.protocols.FILE_PING.down(FILE_PING.java:119)
>         at org.jgroups.protocols.MERGE3$InfoSender.run(MERGE3.java:408)
>         at
> org.jgroups.util.TimeScheduler3$Task.run(TimeScheduler3.java:324)
>         at
> org.jgroups.util.TimeScheduler3$RecurringTask.run(TimeScheduler3.java:358)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at
>
> org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$0(ClassLoaderThreadFactory.java:52)
>         at java.lang.Thread.run(Thread.java:748)
>
> 19:37:43,487 ERROR [org.jgroups.protocols.JDBC_PING]
> (thread-9,ejb,568064445f53) JGRP000145: Error updating JDBC_PING table:
> org.postgresql.util.PSQLException: ERROR: relation "jgroupsping" does not
> exist
>   Position: 13
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)
>         at
> org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
>         at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:143)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:120)
>         at
>
> org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:537)
>         at org.jgroups.protocols.JDBC_PING.delete(JDBC_PING.java:339)
>         at org.jgroups.protocols.JDBC_PING.writeToDB(JDBC_PING.java:142)
>         at org.jgroups.protocols.JDBC_PING.write(JDBC_PING.java:125)
>         at org.jgroups.protocols.FILE_PING.findMembers(FILE_PING.java:128)
>         at
> org.jgroups.protocols.Discovery.invokeFindMembers(Discovery.java:214)
>         at org.jgroups.protocols.Discovery.findMembers(Discovery.java:239)
>         at org.jgroups.protocols.Discovery.down(Discovery.java:386)
>         at org.jgroups.protocols.FILE_PING.down(FILE_PING.java:119)
>         at org.jgroups.protocols.MERGE3$InfoSender.run(MERGE3.java:408)
>         at
> org.jgroups.util.TimeScheduler3$Task.run(TimeScheduler3.java:324)
>         at
> org.jgroups.util.TimeScheduler3$RecurringTask.run(TimeScheduler3.java:358)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at
>
> org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$0(ClassLoaderThreadFactory.java:52)
>         at java.lang.Thread.run(Thread.java:748)
>
> 19:38:21,918 ERROR [org.jgroups.protocols.JDBC_PING]
> (thread-10,ejb,568064445f53) JGRP000138: Error reading JDBC_PING table:
> org.postgresql.util.PSQLException: ERROR: relation "jgroupsping" does not
> exist
>   Position: 47
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)
>         at
> org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
>         at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:143)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:106)
>         at
>
> org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
>         at org.jgroups.protocols.JDBC_PING.readAll(JDBC_PING.java:225)
>         at org.jgroups.protocols.JDBC_PING.readAll(JDBC_PING.java:197)
>         at org.jgroups.protocols.FILE_PING.findMembers(FILE_PING.java:124)
>         at
> org.jgroups.protocols.Discovery.invokeFindMembers(Discovery.java:214)
>         at org.jgroups.protocols.Discovery.findMembers(Discovery.java:239)
>         at org.jgroups.protocols.Discovery.down(Discovery.java:386)
>         at org.jgroups.protocols.FILE_PING.down(FILE_PING.java:119)
>         at org.jgroups.protocols.MERGE3$InfoSender.run(MERGE3.java:408)
>         at
> org.jgroups.util.TimeScheduler3$Task.run(TimeScheduler3.java:324)
>         at
> org.jgroups.util.TimeScheduler3$RecurringTask.run(TimeScheduler3.java:358)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at
>
> org.jboss.as.clustering.jgroups.ClassLoaderThreadFactory.lambda$newThread$0(ClassLoaderThreadFactory.java:52)
>         at java.lang.Thread.run(Thread.java:748)
>
> 19:38:21,922 ERROR [org.jgroups.protocols.JDBC_PING]
> (thread-10,ejb,568064445f53) JGRP000145: Error updating JDBC_PING table:
> org.postgresql.util.PSQLException: ERROR: relation "jgroupsping" does not
> exist
>   Position: 13
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
>         at
>
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)
>         at
> org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
>         at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:143)
>         at
>
> org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:120)
>         at
>
> org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:537)
>         at org.jgroups.protocols.JDBC_PING.delete(JDBC_PING.java:339)
>         at org.jgroups.protocols.JDBC_PING.writeToDB(JDBC_PING.java:142)
>         at org.jgroups.protocols.JDBC_PING.write(JDBC_PING.java:125)
>         at org.jgroups.protocols.FILE_PING.findMembers(FILE_PING.java:128)
>         at
> org.jgroups.protocols.Discovery.invokeFindMembers(Discovery.java:214)
>         at org.jgroups.protocols.Discovery.findMembers(Discovery.java:239)
>         at org.jgroups.protocols.Discovery.down(Discovery.java:386)
> _______________________________________________
> keycloak-user mailing list
> keycloak-user at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-user
>


More information about the keycloak-user mailing list