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

Gary Tully commented on AMQ-2217:
---------------------------------

There is a workaround, demonstrated in the committed test case. Thanks for the 
neat test case btw. 
Increasing the maxPageSize from the default 200 to 5000 makes the test work. In 
xml config for all queues it would be something like:
{code}<destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry queue=">" maxPageSize="5000"/>
                </policyEntries>
            </policyMap>
        </destinationPolicy>{code}

> Message delivery to selector based consumers pauses if selector leaves 
> messages on the queue.
> ---------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2217
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2217
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0, 5.3.0
>         Environment: Windows XP Professional 2002, Service Pack 2,  Intel 
> Pentium D 3ghz, various 1.5 and 1.6 versions of jdk
>            Reporter: Jar Lyons
>            Assignee: Gary Tully
>             Fix For: 5.4.1
>
>         Attachments: DiscriminatingConsumerLoadTest.java
>
>
> I have written a test case which will demonstrate the difference between the 
> following two scenarios:
> 1. Producer sending dissimilar JMSType messages to a queue, with a client 
> consuming all messages (no selector).
> 2. Producer sending dissimilar JMSType messages to a queue, with a client 
> consuming every other message (using selector).
> With a large enough size of test messages (for my environment about 5k), 
> scenario 2 will fail with delivery to the consumer halted, while scenario 1 
> will not.
> Test Output:
> waiting for consumer to pause ... consumer: 0, producer: 0
> waiting for consumer to pause ... consumer: 200, producer: 5000
> waiting for consumer to pause ... consumer: 200, producer: 5000
> waiting for consumer to pause ... consumer: 200, producer: 5000
> waiting for consumer to pause ... consumer: 200, producer: 5000
> waiting for consumer to pause ... consumer: 200, producer: 5000

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

Reply via email to