You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Justin Bertram (JIRA)" <ji...@apache.org> on 2017/08/03 15:52:01 UTC

[jira] [Commented] (ARTEMIS-1320) Unable to run REST on HA servers

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

Justin Bertram commented on ARTEMIS-1320:
-----------------------------------------

The current design only supports the REST servlet making an invm connection to an embedded broker.  This won't work for HA setups as there will be a passive backup embedded with an active Servlet container (Tomcat in this case).  I think the best way to solve this would be to support using a tcp connection rather than an invm connection.  That way one could configure a remote live/backup pair and a single container servicing HTTP requests could connect to that live/backup pair.

> Unable to run REST on HA servers
> --------------------------------
>
>                 Key: ARTEMIS-1320
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1320
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 2.1.0
>         Environment: HA Slave config:
>       <!-- High Availability configuration -->
>       <ha-policy>
>          <replication>
>             <slave>
>                <allow-failback>true</allow-failback>
>             </slave>
>          </replication>
>       </ha-policy>
>            Reporter: Paul Mockabee
>
> We are running Artemis in a Tomcat container and have enabled the REST API by configuring  the web.xml as shown in the example.
> When we configure HA , the slaves fail to start with the following error from RestMessagingBootstrapListener. The same also error happens on a fail back to the master node.
> 08/02/17 14:20:44.209 org.apache.catalina.core.StandardContext listenerStart
> SEVERE: Exception sending context initialized event to listener instance of class org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener
> java.lang.RuntimeException: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
> at org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener.contextInitialized(RestMessagingBootstrapListener.java:54)
> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
> at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
> at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
> at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:787)
> at org.apache.activemq.artemis.rest.MessageServiceManager.start(MessageServiceManager.java:156)
> at org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener.contextInitialized(RestMessagingBootstrapListener.java:50)
> ... 9 more
> Here's the full startup log from a slave:
> 08/02/17 14:20:36.493 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
> INFO: Loaded APR based Apache Tomcat Native library 1.2.12 using APR version 1.5.2.
> 08/02/17 14:20:36.507 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
> INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
> 08/02/17 14:20:36.517 org.apache.catalina.core.AprLifecycleListener initializeSSL
> INFO: OpenSSL successfully initialized (OpenSSL 1.0.2k  26 Jan 2017)
> 08/02/17 14:20:36.894 org.apache.coyote.AbstractProtocol init
> INFO: Initializing ProtocolHandler ["http-apr-8080"]
> 08/02/17 14:20:36.939 org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 2134 ms
> 08/02/17 14:20:37.031 org.apache.catalina.core.StandardService startInternal
> INFO: Starting service Catalina
> 08/02/17 14:20:37.034 org.apache.catalina.core.StandardEngine startInternal
> INFO: Starting Servlet Engine: Apache Tomcat/7.0.78
> 08/02/17 14:20:41.654 org.apache.catalina.startup.TldConfig execute
> INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
> 08/02/17 14:20:43.610 org.apache.activemq.artemis.core.deployers.impl.FileConfigurationParser parseMainConfig
> WARN: AMQ222018: AIO was not located on this platform, it will fall back to using pure Java NIO. If your platform is Linux, install LibAIO to enable the AIO journal
> 08/02/17 14:20:43.823 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl internalStart
> INFO: AMQ221000: backup Message Broker is starting with configuration Broker Configuration (clustered=true,journalDirectory=data/journal,bindingsDirectory=data/bindings,largeMessagesDirectory=data/largemessages,pagingDirectory=data/paging)
> 08/02/17 14:20:43.978 org.apache.activemq.artemis.core.server.files.FileMoveManager doMove
> INFO: AMQ222162: Moving data directory /usr/local/tomcat/data/journal to /usr/local/tomcat/data/journal/oldreplica.1
> 08/02/17 14:20:44.209 org.apache.catalina.core.StandardContext listenerStart
> SEVERE: Exception sending context initialized event to listener instance of class org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener
> java.lang.RuntimeException: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
> at org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener.contextInitialized(RestMessagingBootstrapListener.java:54)
> at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118)
> at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
> at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
> at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:787)
> at org.apache.activemq.artemis.rest.MessageServiceManager.start(MessageServiceManager.java:156)
> at org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener.contextInitialized(RestMessagingBootstrapListener.java:50)
> ... 9 more
> 2017-08-02T14:20:44.244361069Z 
> 08/02/17 14:20:44.249 org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager init
> INFO: AMQ221013: Using NIO Journal
> 08/02/17 14:20:44.246 org.apache.catalina.core.StandardContext startInternal
> SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
> 08/02/17 14:20:44.254 org.apache.catalina.core.StandardContext startInternal
> SEVERE: Context [] startup failed due to previous errors
> 08/02/17 14:20:44.427 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl initialisePart1
> WARN: AMQ222007: Security risk! Apache ActiveMQ Artemis is running with the default cluster admin user and default password. Please see the cluster chapter in the ActiveMQ Artemis User Guide for instructions on how to change this.
> 08/02/17 14:20:44.474 org.apache.activemq.artemis.core.config.impl.ConfigurationImpl getGlobalMaxSize
> INFO: AMQ221057: Global Max Size is being adjusted to 1/2 of the JVM max size (-Xmx). being defined as 268,435,456
> 08/02/17 14:20:44.652 org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl <init>
> INFO: AMQ221043: Protocol module found: [artemis-server]. Adding protocol support for: CORE
> 08/02/17 14:20:45.013 org.apache.catalina.core.StandardContext listenerStop
> SEVERE: Exception sending context destroyed event to listener instance of class org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener
> java.lang.NullPointerException
> at org.apache.activemq.artemis.rest.MessageServiceManager.stop(MessageServiceManager.java:215)
> at org.apache.activemq.artemis.rest.integration.RestMessagingBootstrapListener.contextDestroyed(RestMessagingBootstrapListener.java:61)
> at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5165)
> at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5829)
> at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:221)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:149)
> at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
> at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:748)
> 2017-08-02T14:20:45.013848667Z 
> 08/02/17 14:20:45.125 org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl stop
> INFO: AMQ221002: Apache ActiveMQ Artemis Message Broker version 2.1.0 [null] stopped, uptime 1.353 seconds
> 08/02/17 14:20:45.186 org.apache.coyote.AbstractProtocol start
> INFO: Starting ProtocolHandler ["http-apr-8080"]
> 08/02/17 14:20:45.243 org.apache.catalina.startup.Catalina start
> INFO: Server startup in 8288 ms
>  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)