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

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

    [ https://issues.apache.org/jira/browse/AMQ-5581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14323140#comment-14323140 ] 

Brandon Davis commented on AMQ-5581:
------------------------------------

We are having the same problem. The database that we were using for persistence failed over, but out message queues remained unavailable until we restarted the ActiveMQ service.

> 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)