Mariangela Hills created STRATOS-1308:
-----------------------------------------
Summary: Reconnection logic is missing the connection cleaning up
part
Key: STRATOS-1308
URL: https://issues.apache.org/jira/browse/STRATOS-1308
Project: Stratos
Issue Type: Bug
Affects Versions: 4.1.0 Alpha
Reporter: Mariangela Hills
I got a message saying "could not connect to the message broker" even when the
message broker connection was already in place (started). There seems to be
some reconnection logic, which finally leads to a too many files opened error
(part of the log can be seen in [1]). When this happens the web browser on my
machine (Chrome) gets stuck and I have to restart Stratos to solve the issue.
In addition, I would like to add that my max file limit was 8000 when this
issue occurred (ulimit -Sn 8000). Therefore, it looks like the reconnection
logic is missing the connection cleaning up part.
---------------------
[1]
[2015-04-02 13:40:16,319] INFO
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Topic
publisher will try to reconnect in 5 seconds: [topic-name]
tenant.CompleteTenantEvent
[2015-04-02 13:40:16,319] WARN
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} -
Connection to the message broker failed
[2015-04-02 13:40:16,319] INFO
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Topic
publisher will try to reconnect in 2 seconds: [topic-name]
tenant.CompleteTenantEvent
Exception in thread "ActiveMQ Transport: tcp://localhost/127.0.0.1:61616@50628"
java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:673)
at
java.util.concurrent.ThreadPoolExecutor.addThread(ThreadPoolExecutor.java:681)
at
java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:706)
at
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:650)
at
org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:2002)
at
org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:2017)[2015-04-02
13:40:16,423] ERROR
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Could
not connect to message broker
javax.jms.JMSException: Cannot send, channel has already failed:
tcp://127.0.0.1:61616
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1435)
at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1522)
at
org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:78)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicPublisher.reconnect(AmqpTopicPublisher.java:115)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector$1.onException(AmqpTopicConnector.java:75)
at
org.apache.activemq.ActiveMQConnection$5.run(ActiveMQConnection.java:2005)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Caused by: org.apache.activemq.transport.InactivityIOException: Cannot send,
channel has already failed: tcp://127.0.0.1:61616
at
org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:297)
at
org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286)
at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
at org.apache.activemq.transport.ResponseCorrelator.
request(ResponseCorrelator.java:86)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1406)
... 9 more
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at
org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:126)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at
org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:101)
at
org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:160)
at
org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:314)
at
org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:200)
at java.lang.Thread.run(Thread.java:695)
[2015-04-02 13:40:16,424] WARN
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Could
not reconnect to message broker
org.apache.stratos.messaging.domain.exception.MessagingException: Could not
connect to message broker
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:82)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicPublisher.reconnect(AmqpTopicPublisher.java:115)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector$1.onException(AmqpTopicConnector.java:75)
at
org.apache.activemq.ActiveMQConnection$5.run(ActiveMQConnection.java:2005)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Caused by: javax.jms.JMSException: Cannot send, channel has already failed:
tcp://127.0.0.1:61616
at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1435)
at
org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1522)
at
org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.connect(AmqpTopicConnector.java:78)
... 6 more
Caused by: org.apache.activemq.transport.InactivityIOException: Cannot send,
channel has already failed: tcp://127.0.0.1:61616
at
org.apache.activemq.transport.AbstractInactivityMonitor.doOnewaySend(AbstractInactivityMonitor.java:297)
at
org.apache.activemq.transport.AbstractInactivityMonitor.oneway(AbstractInactivityMonitor.java:286)
at
org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:85)
at
org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:104)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)
at
org.apache.activemq.transport.ResponseCorrelator.asyncRequest(ResponseCorrelator.java:81)
at
org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:86)
at
org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1406)
... 9 more
[2015-04-02 13:40:16,424] ERROR
{org.apache.stratos.messaging.util.MessagingUtil} - Failed to load properties
from file:
/Users/Admin16/Documents/Stratos_4.1.0/master-pack/apache-stratos-4.1.0-SNAPSHOT/repository/conf/jndi.properties
java.io.FileNotFoundException:
/Users/Admin16/Documents/Stratos_4.1.0/master-pack/apache-stratos-4.1.0-SNAPSHOT/repository/conf/jndi.properties
(Too many open files in system)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at
org.apache.stratos.messaging.util.MessagingUtil.getProperties(MessagingUtil.java:108)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.create(AmqpTopicConnector.java:49)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicPublisher.reconnect(AmqpTopicPublisher.java:114)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector$1.onException(AmqpTopicConnector.java:75)
at
org.apache.activemq.ActiveMQConnection$5.run(ActiveMQConnection.java:2005)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
[2015-04-02 13:40:16,425] INFO
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Topic
publisher will try to reconnect in 20 seconds: [topic-name]
application.signup.CompleteApplicationSignUpsEvent
[2015-04-02 13:40:16,427] ERROR
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Could
not create topic connector
java.lang.NullPointerException
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.create(AmqpTopicConnector.java:53)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicPublisher.reconnect(AmqpTopicPublisher.java:114)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector$1.onException(AmqpTopicConnector.java:75)
at
org.apache.activemq.ActiveMQConnection$5.run(ActiveMQConnection.java:2005)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
[2015-04-02 13:40:16,427] WARN
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Could
not reconnect to message broker
org.apache.stratos.messaging.domain.exception.MessagingException: Could not
create topic connector
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.create(AmqpTopicConnector.java:58)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicPublisher.reconnect(AmqpTopicPublisher.java:114)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector$1.onException(AmqpTopicConnector.java:75)
at
org.apache.activemq.ActiveMQConnection$5.run(ActiveMQConnection.java:2005)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
Caused by: java.lang.NullPointerException
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.create(AmqpTopicConnector.java:53)
... 6 more
[2015-04-02 13:40:16,428] INFO
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Topic
publisher will try to reconnect in 20 seconds: [topic-name]
application.signup.CompleteApplicationSignUpsEvent
[2015-04-02 13:40:16,445] ERROR
{org.apache.stratos.messaging.util.MessagingUtil} - Failed to load properties
from file:
/Users/Admin16/Documents/Stratos_4.1.0/master-pack/apache-stratos-4.1.0-SNAPSHOT/repository/conf/jndi.properties
java.io.FileNotFoundException:
/Users/Admin16/Documents/Stratos_4.1.0/master-pack/apache-stratos-4.1.0-SNAPSHOT/repository/conf/jndi.properties
(Too many open files in system)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at
org.apache.stratos.messaging.util.MessagingUtil.getProperties(MessagingUtil.java:108)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector.create(AmqpTopicConnector.java:49)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicPublisher.reconnect(AmqpTopicPublisher.java:114)
at
org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector$1.onException(AmqpTopicConnector.java:75)
at
org.apache.activemq.ActiveMQConnection$5.run(ActiveMQConnection.java:2005)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
[2015-04-02 13:40:16,448] ERROR
{org.apache.stratos.messaging.broker.connect.amqp.AmqpTopicConnector} - Could
not create topic connector
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)