activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan Witcher (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (AMQ-1974) MemoryUsage stays at 100% used forever after all messages are sent
Date Tue, 18 Nov 2008 14:57:05 GMT

    [ https://issues.apache.org/activemq/browse/AMQ-1974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47483#action_47483
] 

rwitcher edited comment on AMQ-1974 at 11/18/08 6:55 AM:
-------------------------------------------------------------

We are experiencing a similar issue using a non-persistent queue and producerFlowControl with
ActiveMQ 5.1.0.  After sending enough messages for the broker to block the producers due to
the memory usage being at 100%, we start a consumer which then drains the queue.  However,
since the memoryUsage stays at 100%, the broker is still blocking producers from sending more
messages.

All of the producer threads appear to be blocked here:

org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:39)
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
org.apache.activemq.ActiveMQConnection.doAsyncSendPacket(ActiveMQConnection.java:1176)
org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1170)
org.apache.activemq.ActiveMQSession.<init>(ActiveMQSession.java:190)
org.apache.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:296)
sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.springframework.jms.connection.SingleConnectionFactory$SharedConnectionInvocationHandler.invoke(SingleConnectionFactory.java:418)
$Proxy30.createSession(Unknown Source)
org.springframework.jms.support.JmsAccessor.createSession(JmsAccessor.java:200)
org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:419)
org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:475)


      was (Author: rwitcher):
    We are experiencing a similar issue using a non-persistent queue and producerFlowControl
with ActiveMQ 5.1.0.  After sending enough messages for the broker to block the producers
due to the memory usage being at 100%, we start a consumer which then drains the queue.  However,
since the memoryUsage stays at 100%, the broker is still blocking producers from sending more
messages.
  
> MemoryUsage stays at 100% used forever after all messages are sent
> ------------------------------------------------------------------
>
>                 Key: AMQ-1974
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1974
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.1.0
>         Environment: Linux with 2.6.18 kernel
> JDK 1.5.0_15
>            Reporter: Neal Yin
>            Priority: Critical
>         Attachments: MsgsPerSecond.diff, TryJmsClient.java, TryJmsManager.java
>
>
> We  use a network of brokers and topic to do messaging. All our message producers and
consumers talk to the local VM broker. We reply on bridges between network of brokers to move
messages between brokers. We found a case that MemoryUsage stays at 100% forever after all
messages are sent.
> I attached two files to show this memory leak problem. TryJmsClient keeps sending persistent
messages to a Topic. TryJmsManager has a message consumer. Start TryJmsManager first and then
start TryJmsClient. After running about 10 seconds, TryJmsClient stops sending because of
getting "SystemUsage memory limit reached" error. About 24K messages are sent and consumer
shows it get all messages. Now examine ActiveMQ MemoryUsage printout of TryJmsClient, MemoryUsage
percentage stays at 100% or 99% forever. Producer can never send any more messages.
> Note1: If I slow down sending by adding a sleep, I don't see memory leak immediately.
I am not sure for longer running time.
> Note2: If I use Queue instead of Topic, there is no memory leak. 
> Note3: This looks like similar to AMQ-1833 that is fixed in 5.2. But after testing with
5.2 snapshot, I still get the problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message