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.