[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