Mix of Persistent and Non-Persistent producers on the same queue breaks 
producer flow control
---------------------------------------------------------------------------------------------

                 Key: AMQ-2703
                 URL: https://issues.apache.org/activemq/browse/AMQ-2703
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.3.1, 5.3.0
            Reporter: Frank Bos


To reproduce this bug I will attach the source of two small test applications:
# ProducerFlowControlTest.java
# FastProducer.java

Both applications connect to a standalone broker on the same machine. For the 
broker I'm using the default configuration that comes with the 5.3.1 download.

The ProducerFlowControlTest program does two things:
# Read incoming messages from a queue
# Once every 3 seconds: post a message on this incoming queue (from a different 
thread, so using a different session). Posting is done in a NON_PERSISTENT way.

The FastProducer sends some big text messages to the queue to trigger the 
'producer flow control'. It uses PERSISTENT delivery.

After a while this will get stuck and the FastProducer is not able to deliver 
all its messages.
Instead of seeing something like this in the output:
{noformat}
Received message of size: 47000
Received message of size: 47000
Received message of size: 11
Published message on queue
Received message of size: 47000
Received message of size: 47000
Received message of size: 11
{noformat}

You see this:
{noformat}
Published message on queue
Received message of size: 47000
Received message of size: 47000
Published message on queue
Published message on queue
Published message on queue
Published message on queue
Published message on queue
Published message on queue
...
{noformat}

If you change the delivery of the messages in ProducerFlowControlTest to 
PERSISTENT, then everything works fine!


-- 
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