You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Brian Jackson (JIRA)" <ji...@apache.org> on 2015/02/12 01:01:11 UTC

[jira] [Created] (AMQ-5581) Failover with jdbcPersistenceAdapter/PGPoolingDataSource doesn't fail over properly when DB server changes IP

Brian Jackson created AMQ-5581:
----------------------------------

             Summary: Failover with jdbcPersistenceAdapter/PGPoolingDataSource doesn't fail over properly when DB server changes IP
                 Key: AMQ-5581
                 URL: https://issues.apache.org/jira/browse/AMQ-5581
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.10.0
         Environment: Linux, 1 master, 2 slaves, PostgreSQL persistence layer
            Reporter: Brian Jackson


We had a cloud instance reboot over the weekend. When it came back up it had a different IP address. The master seems like it had given up trying to reconnect and the slaves were stuck repeating "failed to acquire lease.  Sleeping for 10000 milli(s) before trying again...".

At the very least if the master is going to stop retrying it seems like at some point the slaves should try a full reconnect instead of just repeating the same message for days on end.

Let me know what other info you need?

Config snippets below.

{code:xml}
        <persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#postgres-ds" lockKeepAlivePeriod="5000">
              <locker>
                <lease-database-locker lockAcquireSleepInterval="10000"/>
              </locker>
            </jdbcPersistenceAdapter>
        </persistenceAdapter>

    <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource">
        <property name="serverName" value="{{ salt['mine.get']('G@tags:mqdb and G@tags:primary', 'network.get_hostname', 'compound')|first }}" />
        <property name="databaseName" value="mqdb" />
        <property name="portNumber" value="5432" />
        <property name="user" value="mqdb" />
        <property name="password" value="{{ salt['pillar.get']('postgres:users:mqdb:password', 'password') }}" />
        <property name="dataSourceName" value="postgres" />
        <property name="initialConnections" value="1" />
        <property name="maxConnections" value="30" />
    </bean>
{code}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)