activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suneel Papineni <>
Subject RE: Connection close not working when Usage Manager Store is reached Full.
Date Wed, 20 Jul 2011 15:18:36 GMT
Hi Tim,

Thanks for your quick reply. I would like to ask another question before entering into Jira.

Here all the messages are set with expiration time as 5 seconds (message.setCMSExpiration(5000)).
As there are couple of Durable Consumers across brokers, messages are supposed to be delivered
within 5 seconds or has to be deleted after that.

So my question is how come memory is running out even after the expiry time of last message.
(I tried to send another message after 1 hour, still it shows Memory store full 100%)

You can say after expiry messages are going to DLQ, but I configured as not to process expired
messages. Here is the config..
                    <policyEntry queue=">" producerFlowControl="false">
                          <sharedDeadLetterStrategy processExpired="false" />
                    <policyEntry topic=">" producerFlowControl="false">
							<sharedDeadLetterStrategy processExpired="false" />							

Please let me know if there is any modification required in configuration. If everything is
right, then as you suggested I might need to open a Jira.

Note: I am using Network of Brokers here (static brokers) a single topic.

Thanks & Regards

-----Original Message-----
From: Timothy Bish [] 
Sent: 20 July 2011 15:41
Subject: Re: Connection close not working when Usage Manager Store is reached Full.

On Wed, 2011-07-20 at 14:24 +0100, Suneel Papineni wrote:
> Hi,
> I am using ActiveMQ-CPP (v 3.4.0) and ActiveMQ server (v 5.5.0). I am
> checking what is going to happen when "StoreUsage" memory limit is
> reached 100%. For this I configured "storeUsage" limit as "1 mb" and
> tried to send a message. On calling sendMessage, my application got
> struck and it is hung state for 10 seconds. After that it thrown an
> error saying "No valid response received for command ....."
> (I did configure connection.sendTimeout=10000)
> When I try to send message, I could see a INFO message on ActiveMQ which
> is shown below
> "Usage Manager Store is Full, 100% of 1048576. Stopping producer..."
> At this point as there is an error, I thought of closing connection.
> When I called Connection.close() method, application got hung again for
> 15 seconds and thrown an error "No valid response received for command:
> RemoveInfo {.....", thus making connection not closed properly. I could
> see in browser as the connection still exists. Without closing
> connection properly,  I am unable to reconnect from the application
> unless application is closed physically (which in my case is not
> possible as the application performs some other operations).
> Could someone please let me know why connection is not getting closed at
> this time. Also please let me know how should I solve this issue.

If yuor broker is running out of memory then it might not be able to
respond to the remove commands from the client.  This shouldn't prevent
the client from closing its socket connection though so there could be a
bug, however it may just be that the broker is unable to process
anything because its out of memory and that's why your connection still
shows in the console.  It may also be the cause for not being able to
reconnect if the broker cannot process the connection commands due to a
lack or resources.

Some broker logs might help in this instance.  You can open a new Jira
issue if you believe there is a bug.


Tim Bish
Twitter: tabish121

View raw message