You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2013/07/12 17:39:51 UTC

[jira] [Comment Edited] (AMQ-4595) QueueBrowser hangs when browsing large queues

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

Timothy Bish edited comment on AMQ-4595 at 7/12/13 3:39 PM:
------------------------------------------------------------

The current behavior is definitely still a bug, however there are ways to work around it.  I'm pretty sure you could get around it by setting a lower memory limit in 5.8 so it doesn't page in so many messages but I didn't try that.  The fix in AMQ-4487 allows the audit settings to be set in the destination policy, previously they were being ignored. 

The problem is that the Message Audit that's don't to prevent the messages that are redispatched when not acked by a closed consumer from getting dropped into a browser a second time since they are read from the pending dispatch message list.  Since this list can grow quite long in this test case it exceeds the audit depth so we get into a loop since the messages in the list don't appear to be duplicates.  Its a flaw in the way Queue Browsers are designed currently.  It wasn't really an issue until we made the change to page in messages for browsers instead of limiting them to a single page.  
                
      was (Author: tabish121):
    The current behavior is definitely still a bug, however there are ways to work around it.  I'm pretty sure you could get around it by setting a lower memory limit in 5.8 so it doesn't page in so many messages but I didn't try that.  

The problem is that the Message Audit that's don't to prevent the messages that are redispatched when not acked by a closed consumer from getting dropped into a browser a second time since they are read from the pending dispatch message list.  Since this list can grow quite long in this test case it exceeds the audit depth so we get into a loop since the messages in the list don't appear to be duplicates.  Its a flaw in the way Queue Browsers are designed currently.  It wasn't really an issue until we made the change to page in messages for browsers instead of limiting them to a single page.  
                  
> QueueBrowser hangs when browsing large queues
> ---------------------------------------------
>
>                 Key: AMQ-4595
>                 URL: https://issues.apache.org/jira/browse/AMQ-4595
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.8.0
>         Environment: All
>            Reporter: Nicholas Rahn
>            Priority: Critical
>              Labels: QueueBrowser
>         Attachments: AMQ4595Test.java, AMQ580BrowsingBug.java, amq-test-20130621T155120.log
>
>
> When trying to browse a queue with a QueueBrowser, the browsing will hang and never complete. This appears to happen only with "a lot" of message in the queue. 1000 messages works correctly, but 10000 hangs.
> I have attached a unit test that exhibits the problem. Change the "messageToSend" variable in the test method to see the difference between small queue size and large queue size. 
> I've attached the unit test code as well as the output from one of the runs with 10000 messages. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira