You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Frank Bos (JIRA)" <ji...@apache.org> on 2010/04/21 14:23:15 UTC

[jira] Created: (AMQ-2703) Mix of Persistent and Non-Persistent producers on the same queue breaks producer flow control

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.


[jira] Updated: (AMQ-2703) Mix of Persistent and Non-Persistent producers on the same queue breaks producer flow control

Posted by "Frank Bos (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Bos updated AMQ-2703:
---------------------------

    Attachment: ProducerFlowControlTest.java
                FastProducer.java

> 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.0, 5.3.1
>            Reporter: Frank Bos
>         Attachments: FastProducer.java, ProducerFlowControlTest.java
>
>
> 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.


[jira] Updated: (AMQ-2703) Mix of Persistent and Non-Persistent producers on the same queue breaks producer flow control

Posted by "Bruce Snyder (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bruce Snyder updated AMQ-2703:
------------------------------

    Fix Version/s: 5.5.0
                       (was: 5.4.1)

> 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.0, 5.3.1
>            Reporter: Frank Bos
>             Fix For: 5.5.0
>
>         Attachments: FastProducer.java, ProducerFlowControlTest.java
>
>
> 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.


[jira] Commented: (AMQ-2703) Mix of Persistent and Non-Persistent producers on the same queue breaks producer flow control

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-2703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61244#action_61244 ] 

Timothy Bish commented on AMQ-2703:
-----------------------------------

Can you try against the 5.4.0 release, I've run the apps locally using that release and can't seem to reproduce the problem.

> 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.0, 5.3.1
>            Reporter: Frank Bos
>             Fix For: 5.4.1
>
>         Attachments: FastProducer.java, ProducerFlowControlTest.java
>
>
> 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.