You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Dominic Tulley (JIRA)" <ji...@apache.org> on 2008/01/28 17:33:25 UTC

[jira] Created: (AMQCPP-161) CMS does not support prefetchSize=0 correctly

CMS does not support prefetchSize=0 correctly
---------------------------------------------

                 Key: AMQCPP-161
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-161
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: CMS Impl
    Affects Versions: 2.1.2
            Reporter: Dominic Tulley
            Assignee: Nathan Mittler


AMQ-850 introduced the ability to set the message prefetch size to 0.
This means that no messages are prefetched and every receive() call goes all the way to the broker to get the next message.
It was only a valid option for synchronous message receivers.

In CMS it does not appear to work.  Instead, a client set to use this simply receives no messages, and the messages remain on the queue.

Without this patch, it is possible for a slow consumer to hide an important message from other consumers because it has prefetched it.

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


[jira] Updated: (AMQCPP-161) CMS does not support prefetchSize=0 correctly

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

Dominic Tulley updated AMQCPP-161:
----------------------------------

    Attachment: main.cpp

The attached file is the main.cpp source from the examples project in build 2.1.3.
The only changes are:

Line 215 -  The consumer uses consumer.prefetchSize=0
Line 344 - Changed to use a queue instead of a topic

This exhibits the problem described in the Jira.
Note that this test does not include selectors although the problem exists when they are used as well.


> CMS does not support prefetchSize=0 correctly
> ---------------------------------------------
>
>                 Key: AMQCPP-161
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-161
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 2.1.2
>            Reporter: Dominic Tulley
>            Assignee: Nathan Mittler
>         Attachments: main.cpp
>
>
> AMQ-850 introduced the ability to set the message prefetch size to 0.
> This means that no messages are prefetched and every receive() call goes all the way to the broker to get the next message.
> It was only a valid option for synchronous message receivers.
> In CMS it does not appear to work.  Instead, a client set to use this simply receives no messages, and the messages remain on the queue.
> Without this patch, it is possible for a slow consumer to hide an important message from other consumers because it has prefetched it.

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


[jira] Resolved: (AMQCPP-161) CMS does not support prefetchSize=0 correctly

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

Timothy Bish resolved AMQCPP-161.
---------------------------------

    Resolution: Fixed

Fixed in trunk, SVN: 617920

> CMS does not support prefetchSize=0 correctly
> ---------------------------------------------
>
>                 Key: AMQCPP-161
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-161
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 2.1.2
>            Reporter: Dominic Tulley
>            Assignee: Timothy Bish
>             Fix For: 2.2
>
>         Attachments: main.cpp
>
>
> AMQ-850 introduced the ability to set the message prefetch size to 0.
> This means that no messages are prefetched and every receive() call goes all the way to the broker to get the next message.
> It was only a valid option for synchronous message receivers.
> In CMS it does not appear to work.  Instead, a client set to use this simply receives no messages, and the messages remain on the queue.
> Without this patch, it is possible for a slow consumer to hide an important message from other consumers because it has prefetched it.

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


[jira] Assigned: (AMQCPP-161) CMS does not support prefetchSize=0 correctly

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

Timothy Bish reassigned AMQCPP-161:
-----------------------------------

    Assignee: Timothy Bish  (was: Nathan Mittler)

> CMS does not support prefetchSize=0 correctly
> ---------------------------------------------
>
>                 Key: AMQCPP-161
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-161
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 2.1.2
>            Reporter: Dominic Tulley
>            Assignee: Timothy Bish
>             Fix For: 2.2
>
>         Attachments: main.cpp
>
>
> AMQ-850 introduced the ability to set the message prefetch size to 0.
> This means that no messages are prefetched and every receive() call goes all the way to the broker to get the next message.
> It was only a valid option for synchronous message receivers.
> In CMS it does not appear to work.  Instead, a client set to use this simply receives no messages, and the messages remain on the queue.
> Without this patch, it is possible for a slow consumer to hide an important message from other consumers because it has prefetched it.

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


[jira] Updated: (AMQCPP-161) CMS does not support prefetchSize=0 correctly

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

Timothy Bish updated AMQCPP-161:
--------------------------------

    Fix Version/s: 2.2

> CMS does not support prefetchSize=0 correctly
> ---------------------------------------------
>
>                 Key: AMQCPP-161
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-161
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 2.1.2
>            Reporter: Dominic Tulley
>            Assignee: Timothy Bish
>             Fix For: 2.2
>
>         Attachments: main.cpp
>
>
> AMQ-850 introduced the ability to set the message prefetch size to 0.
> This means that no messages are prefetched and every receive() call goes all the way to the broker to get the next message.
> It was only a valid option for synchronous message receivers.
> In CMS it does not appear to work.  Instead, a client set to use this simply receives no messages, and the messages remain on the queue.
> Without this patch, it is possible for a slow consumer to hide an important message from other consumers because it has prefetched it.

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


[jira] Commented: (AMQCPP-161) CMS does not support prefetchSize=0 correctly

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

Timothy Bish commented on AMQCPP-161:
-------------------------------------

Looking at the java code its pretty apparent that the current C++ code will not handle this.  Fortunately the Command to pull is there and it should be relatively easy to fix this in a future release.  

> CMS does not support prefetchSize=0 correctly
> ---------------------------------------------
>
>                 Key: AMQCPP-161
>                 URL: https://issues.apache.org/activemq/browse/AMQCPP-161
>             Project: ActiveMQ C++ Client
>          Issue Type: Bug
>          Components: CMS Impl
>    Affects Versions: 2.1.2
>            Reporter: Dominic Tulley
>            Assignee: Nathan Mittler
>         Attachments: main.cpp
>
>
> AMQ-850 introduced the ability to set the message prefetch size to 0.
> This means that no messages are prefetched and every receive() call goes all the way to the broker to get the next message.
> It was only a valid option for synchronous message receivers.
> In CMS it does not appear to work.  Instead, a client set to use this simply receives no messages, and the messages remain on the queue.
> Without this patch, it is possible for a slow consumer to hide an important message from other consumers because it has prefetched it.

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