Hi there,

We're facing a strange problem with our master slave configuration.
We are using ActiveMQ 5.8.0 with a master/slave configuration with a mysql
persistent storage.

This morning we were browsing the activemq admin console
(http://<host>:8161/admin/queues.jsp)
and wanted to browse 360 messages that was in the queue.
The request seemed to make mysql a bit overloaded :) and ActiveMq failed to
update the lease (is this the lock ?) and decided to shutdown.
But, it seems jetty was blocking the shutdown with one of its threads.
So both instance remained active (the admin console was still available).
We had to shut down both instances and restart them. Everything restarted
well,
master was available and slave was waiting.

How can we avoid this behavior ?

Thanks in advance !
Manuel

Here is the log extract :
2014-07-03 08:18:14,049 | WARN  | locker keepalive resulted in:
java.io.IOException: The last packet successfully received from the server
was 46 618 422 milliseconds ago.  The last packet sent successfully to the
server was 46 618 424 milliseconds ago. is longer than the server
configured value of 'wait_timeout'. You should consider either expiring
and/or testing connection validity before use in your application,
increasing the server configured values for client timeouts, or using the
Connector/J connection property 'autoReconnect=true' to avoid this problem.
| org.apache.activemq.broker.LockableServiceSupport | ActiveMQ Cleanup Timer
java.io.IOException: The last packet successfully received from the server
was 46 618 422 milliseconds ago.  The last packet sent successfully to the
server was 46 618 424 milliseconds ago. is longer than the server
configured value of 'wait_timeout'. You should consider either expiring
and/or testing connection validity before use in your application,
increasing the server configured values for client timeouts, or using the
Connector/J connection property 'autoReconnect=true' to avoid this problem.
        at
org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
        at
org.apache.activemq.store.jdbc.LeaseDatabaseLocker.keepAlive(LeaseDatabaseLocker.java:231)
        at
org.apache.activemq.broker.LockableServiceSupport.keepLockAlive(LockableServiceSupport.java:115)
        at
org.apache.activemq.broker.LockableServiceSupport$1.run(LockableServiceSupport.java:88)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown
Source)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown
Source)
        at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown
Source)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown
Source)
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The
last packet successfully received from the server was 46 618 422
milliseconds ago.  The last packet sent successfully to the server was 46
618 424 milliseconds ago. is longer than the server configured value of
'wait_timeout'. You should consider either expiring and/or testing
connection validity before use in your application, increasing the server
configured values for client timeouts, or using the Connector/J connection
property 'autoReconnect=true' to avoid this problem.
        at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown
Source)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at
com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3938)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2551)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2809)
        at
com.mysql.jdbc.StatementImpl.executeSimpleNonQuery(StatementImpl.java:1703)
        at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2447)
        at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
        at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
        at
org.apache.activemq.store.jdbc.LeaseDatabaseLocker.keepAlive(LeaseDatabaseLocker.java:228)
        ... 11 more
Caused by: java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(Unknown Source)
        at java.net.SocketOutputStream.write(Unknown Source)
        at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
        at java.io.BufferedOutputStream.flush(Unknown Source)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3919)
        ... 22 more
2014-07-03 08:18:19,050 | INFO  | amq01, no longer able to keep the
exclusive lock so giving up being a master |
org.apache.activemq.broker.LockableServiceSupport | ActiveMQ Cleanup Timer
2014-07-03 08:18:19,051 | INFO  | Apache ActiveMQ 5.8.0 (amq01,
ID:esb01-46942-1403704389061-0:1) is shutting down |
org.apache.activemq.broker.BrokerService | ActiveMQ Cleanup Timer
2014-07-03 08:18:21,144 | INFO  | Connector openwire Stopped |
org.apache.activemq.broker.TransportConnector | ActiveMQ Cleanup Timer
2014-07-03 08:18:29,998 | INFO  |
PListStore:[/opt/activemq/data/amq01/tmp_storage] stopped |
org.apache.activemq.store.kahadb.plist.PListStoreImpl | ActiveMQ Cleanup
Timer
2014-07-03 08:18:30,005 | INFO  | Apache ActiveMQ 5.8.0 (amq01,
ID:esb01-46942-1403704389061-0:1) uptime 7 days 16 hours |
org.apache.activemq.broker.BrokerService | ActiveMQ Cleanup Timer
2014-07-03 08:18:30,005 | INFO  | Apache ActiveMQ 5.8.0 (amq01,
ID:esb01-46942-1403704389061-0:1) is shutdown |
org.apache.activemq.broker.BrokerService | ActiveMQ Cleanup Timer
2014-07-03 08:18:30,005 | INFO  | Closing
org.apache.activemq.xbean.XBeanBrokerFactory$1@6f878144: startup date [Wed
Jun 25 15:53:05 CEST 2014]; root of context hierarchy |
org.apache.activemq.xbean.XBeanBrokerFactory$1 | ActiveMQ Cleanup Timer
2014-07-03 08:18:30,021 | INFO  | Destroying Spring FrameworkServlet
'dispatcher' | /admin | ActiveMQ Cleanup Timer
2014-07-03 08:18:30,124 | WARN  | 1 threads could not be stopped |
org.eclipse.jetty.util.thread.QueuedThreadPool | ActiveMQ Cleanup Timer

Reply via email to