Hi Ali, Are you using the JDBCIOExceptionHandler with your broker? That _should_ help.
By default a broker is assigned the DefaultIOExceptionHandler to handle exceptions. You should probably change it out to use the JDBCIOExceptionHandler instead as mentioned here: http://activemq.apache.org/configurable-ioexception-handling.html. The page doesn't mention the JDBCIOExceptionHandler explicitly (which it should), however, it has the same configuration options as the default handler but different defaults. It defaults 'ignoreSQLExceptions' to false and 'stopStartConnectors' to true. The JDBCIOExceptionHandler understands how to deal with pluggable lockers (if present) to determine lock ownership. One would have thought that the documentation would emphasize this more. Alternatively it could switch out the default exception handler to be JDBCIOExceptionHandler when it detects that a jdbcPersistenceAdapter is being used. Thanks, Paul On Thu, Mar 28, 2013 at 11:08 AM, schweet <aktar...@gmail.com> wrote: > > Hi; > > Yes, I am having to use the lease DB feature. No other way round it. > <persistenceAdapter> > <jdbcPersistenceAdapter dataDirectory="${activemq.data}" > dataSource="#mysql-ds" lockKeepAlivePeriod="5000"> > <locker> > <lease-database-locker > lockAcquireSleepInterval="8000"/> > </locker> > </jdbcPersistenceAdapter> > </persistenceAdapter> > > > I have found other problems with the version of activemq that I'm running. > 5.7 has issues with Failover. For example, if you have multi master mesh > MYSQL setup, master activemq connects to 1 DB, grabs a lock, the other mq > nodes try to get a lease, they cant, they keep trying and trying with sleep > time as above. All good so far...Then I tried taking down 1 db host, MQ > master switches nicely to the 2nd DB host, I taken take down the 2nd DB host > expecting it to connect to the 3rd DB, it doesnt. Throws an exception and > leaves the JMS 61616 running, another MQ node then grabs the lease off one > of the DB's and starts 61616 thinking that its now master. Problem here is, > I have a Network LB which is being consumed by client that use the jms queue > as some clients cannot utilise the failover string, this vip obviously has > to use something for keepalive - it uses 61616 to route traffic to the > active MQ node. When the former master MQ node fails to cleanly close > 61616/or become a slave after an exception (db failure), the vip is sending > traffic to the dead MQ as 61616 is still active! > > Good god! Its a nightmare. Can someone help? Has 5.8 resolved this issue? I > hope? Please someone advise. > > > thanks > Ali. > > > > -- > View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-Master-slave-with-MySQLCluster-backend-tp4341454p4665253.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com.