Hi folks - I'm testing a system using ActiveMQ 5.9.1 with an NFS server for shared filesystem master/slave
I'm trying to set up and test failover and fail-back. I'm using Jepsen to fake a network split, where the Master broker can't communicate with the NFS server - after some headaches I have it at a stage where the Master times out writing to the file system, and shuts down and restarts - but it fails to restart cleanly, with a BindException error starting the web app at http://0.0.0.0:8161/fileserver Relevant bits from the activemq logs: 2016-07-19 11:18:36,837 [main ] INFO AbstractConnector - Started SelectChannelConnector@0.0.0.0:8161 2016-07-19 11:22:55,991 [KeepAlive Timer] ERROR LockableServiceSupport - activemq-server.corporate.thoughtworks.com, no longer able to keep the exclusive lock so giving up being a master 2016-07-19 11:22:55,992 [KeepAlive Timer] INFO BrokerService - Apache ActiveMQ 5.9.1 (activemq-server.corporate.thoughtworks.com, ID:activemq-server-48763-1468927115062-0:1) is shutting down 2016-07-19 11:23:00,999 [KeepAlive Timer] INFO TransportConnection - The connection to 'tcp://172.10.10.1:49275' is taking a long time to shutdown. ... this repeated several times, every 5 seconds - not quite sure why, nor if it's relevant, until: 2016-07-19 11:34:21,195 [KeepAlive Timer] INFO TransportConnection - The connection to 'tcp://172.10.10.1:49275' is taking a long time to shutdown. 2016-07-19 11:34:26,012 [ata File Writer] INFO DataFileAppender - Journal failed while writing at: 417675 2016-07-19 11:34:26,013 [toreAndDispatch] ERROR MessageDatabase - KahaDB failed to store to Journal java.io.IOException: Input/output error at sun.nio.ch.FileDispatcherImpl.force0(Native Method) at sun.nio.ch.FileDispatcherImpl.force(FileDispatcherImpl.java:76) at sun.nio.ch.FileChannelImpl.force(FileChannelImpl.java:386) at org.apache.activemq.util.RecoverableRandomAccessFile.sync(RecoverableRandomAccessFile.java:402) at org.apache.activemq.store.kahadb.disk.journal.DataFileAppender.processQueue(DataFileAppender.java:373) at org.apache.activemq.store.kahadb.disk.journal.DataFileAppender$1.run(DataFileAppender.java:193) 2016-07-19 11:34:26,029 [toreAndDispatch] INFO DefaultIOExceptionHandler - Stopping BrokerService[activemq-server.corporate.thoughtworks.com] due to exception, ... some I/O errors removed, naturally there are I/O errors as we've broken the NFS connection 2016-07-19 11:34:26,161 [KeepAlive Timer] INFO TransportConnector - Connector openwire stopped 2016-07-19 11:34:26,162 [KeepAlive Timer] INFO TransportConnector - Connector amqp stopped 2016-07-19 11:34:26,491 [KeepAlive Timer] INFO PListStoreImpl - PListStore:[/share/nfs_share/db/ activemq-server.corporate.thoughtworks.com/tmp_storage] stopped 2016-07-19 11:34:26,494 [KeepAlive Timer] INFO KahaDBStore - Stopping async queue tasks 2016-07-19 11:34:26,494 [KeepAlive Timer] INFO KahaDBStore - Stopping async topic tasks 2016-07-19 11:34:26,496 [KeepAlive Timer] INFO KahaDBStore - Stopped KahaDB 2016-07-19 11:34:26,509 [KeepAlive Timer] INFO MessageDatabase - KahaDB: Recovering checkpoint thread after death 2016-07-19 11:34:26,638 [KeepAlive Timer] INFO BrokerService - Apache ActiveMQ 5.9.1 (activemq-server.corporate.thoughtworks.com, ID:activemq-server-48763-1468927115062-0:1) uptime 15 minutes 2016-07-19 11:34:26,638 [KeepAlive Timer] INFO BrokerService - Apache ActiveMQ 5.9.1 (activemq-server.corporate.thoughtworks.com, ID:activemq-server-48763-1468927115062-0:1) is shutdown 2016-07-19 11:34:26,639 [main ] INFO XBeanBrokerFactory$1 - Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@7f132176: startup date [Tue Jul 19 11:34:26 UTC 2016]; root of context hierarchy 2016-07-19 11:34:30,971 [main ] INFO PListStoreImpl - PListStore:[/share/nfs_share/db/ activemq-server.corporate.thoughtworks.com/tmp_storage] started ... removed a bunch of valid looking startup messages, including recovering from journal corruption... 2016-07-19 11:34:36,754 [main ] INFO StatisticsBrokerPlugin - Installing StaticsBroker 2016-07-19 11:34:36,754 [main ] INFO BrokerService - Apache ActiveMQ 5.9.1 (activemq-server.corporate.thoughtworks.com, ID:activemq-server-48763-1468927115062-0:2) is starting 2016-07-19 11:34:36,776 [main ] INFO StatisticsBroker - Starting StatisticsBroker 2016-07-19 11:34:36,782 [main ] INFO TransportServerThreadSupport - Listening for connections at: tcp://activemq-server:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600 2016-07-19 11:34:36,783 [main ] INFO TransportConnector - Connector openwire started 2016-07-19 11:34:36,788 [main ] INFO TransportServerThreadSupport - Listening for connections at: amqp://activemq-server:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600 2016-07-19 11:34:36,788 [main ] INFO TransportConnector - Connector amqp started 2016-07-19 11:34:36,788 [main ] INFO BrokerService - Apache ActiveMQ 5.9.1 (activemq-server.corporate.thoughtworks.com, ID:activemq-server-48763-1468927115062-0:2) started 2016-07-19 11:34:36,788 [main ] INFO BrokerService - For help or more information please see: http://activemq.apache.org 2016-07-19 11:34:37,035 [main ] INFO Server - jetty-7.6.9.v20130131 2016-07-19 11:34:37,478 [main ] INFO ContextHandler - started o.e.j.w.WebAppContext{/admin,file:/var/lib/activemq/webapps/admin/} 2016-07-19 11:34:37,504 [main ] INFO /admin - Initializing Spring FrameworkServlet 'dispatcher' ... removed a bunch of spring mappings 2016-07-19 11:34:37,574 [main ] INFO WebAppContext - ActiveMQ Console at http://0.0.0.0:8161/admin 2016-07-19 11:34:37,601 [main ] INFO ContextHandler - started o.e.j.w.WebAppContext{/camel,file:/var/lib/activemq/webapps/camel} 2016-07-19 11:34:37,615 [main ] INFO WebAppContext - WebApp@396485834 at http://0.0.0.0:8161/camel 2016-07-19 11:34:37,648 [main ] INFO ContextHandler - started o.e.j.w.WebAppContext{/demo,file:/var/lib/activemq/webapps/demo} 2016-07-19 11:34:37,658 [main ] INFO WebAppContext - WebApp@396485834 at http://0.0.0.0:8161/demo 2016-07-19 11:34:37,673 [main ] INFO ContextHandler - started o.e.j.w.WebAppContext{/fileserver,file:/var/lib/activemq/webapps/fileserver} 2016-07-19 11:34:37,683 [main ] INFO WebAppContext - WebApp@396485834 at http://0.0.0.0:8161/fileserver 2016-07-19 11:34:37,704 [main ] WARN AbstractLifeCycle - FAILED SelectChannelConnector@0.0.0.0:8161: java.net.BindException: Address already in use java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) at sun.nio.ch.Net.bind(Net.java:437) at sun.nio.ch.Net.bind(Net.java:429) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:187) at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:316) at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:265) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at org.eclipse.jetty.server.Server.doStart(Server.java:290) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1638) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1579) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1509) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:296) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64) at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52) at org.apache.activemq.xbean.XBeanBrokerFactory$1.<init>(XBeanBrokerFactory.java:104) at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104) at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71) at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:150) at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.apache.activemq.console.Main.runTaskClass(Main.java:262) at org.apache.activemq.console.Main.main(Main.java:115) 2016-07-19 11:34:37,706 [main ] WARN AbstractLifeCycle - FAILED org.eclipse.jetty.server.Server@7103cb56: java.net.BindException: Address already in use So it seems that something in the admin app failed to shut down properly? Or something else? I'm going to try disabling the admin app and trying again. But any other thoughts would be appreciated. - Korny -- Kornelis Sietsma korny at my surname dot com http://korny.info .fnord { display: none !important; }