[ 
https://issues.apache.org/activemq/browse/AMQ-1020?page=comments#action_37631 ] 
            
paul normington commented on AMQ-1020:
--------------------------------------


I have run into this same issue I think.

We have a scenario with a DurableSubscriber that has retrieved some messages 
and then disconnects.
The publisher continuous publishing at 1000 messages per second.
After 60000 messages are sent, the publisher hangs, and the broker quiesces.

I have seen this behavior with 4.0.1 and 4.1.0

I took a stack trace which showed the server was stuck in 
UsageManager.waitForSpace().

I can delay the hanging problem by configuring more memory in the MemoryManager.
I have tried setting timeToLives and pendingMessageLimitStrategies but I still 
get the hanging.

If I use a non durable subscriber the problem goes away, but this is not an 
ideal solution for us.

> Slow consumer terminally blocks both client and broker
> ------------------------------------------------------
>
>                 Key: AMQ-1020
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1020
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 4.0.2
>         Environment: Broker: Windows XP, Sun JDK1.5  Client: activemq-dotnet 
> (Trunk)
>            Reporter: Rob Lugt
>
> I have a multi-threaded client (client1) which is acting as both a publisher 
> (Topic1) and subscriber (Topic2) using a single session.  There is another 
> client process (client2) which publishes on Topic2.
> I have witnessed the following repeatable scenario where both clients get 
> stuck, which can only be rectified by restarting the broker! :-
> Client1 publishes messages to Topic1 (rate = about 30 msgs/sec).
> Client2 publishes bursts of messages to Topic2 (rate = 500 msgs/sec) 
> Client1 is a slow subscriber on Topic2
> After running in this scenario for a couple of seconds, Client1 and Client2 
> become stuck.  Looking at a stack trace for Client1 I can see that it's 
> read_loop is stuck waiting for input, and it's publisher thread is stuck 
> waiting for an acknowledgement to the synchronous message send (the 
> acknowledgement never arrives because the broker won't sent any more 
> messages).
> Client2 is also stuck waiting for an acknowledgement to a synchronous send.
> My perception is that it appears the broker is throttling the connection 
> because the consumer is running slowly, but for some reason it gets into a 
> state where all message flow stops (even though the consumer is automatically 
> acknowledging messages, albeit slowly).  Furthermore, if I kill Client1 the 
> broker doesn't recover (using a JMX console the connection remains visible).
> The broker uses a vanilla configuration (i.e. no policies are set for the 
> topics in quedtion).
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to