You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org> on 2006/12/18 09:42:21 UTC

[jira] Created: (QPID-209) Message.acknowledge() should only acknowledge messages consumed by the application

Message.acknowledge() should only acknowledge messages consumed by the application
----------------------------------------------------------------------------------

                 Key: QPID-209
                 URL: http://issues.apache.org/jira/browse/QPID-209
             Project: Qpid
          Issue Type: Bug
          Components: Java Client, JMS Compliance
            Reporter: Rob Godfrey
            Priority: Minor


If not using MessageListeners, but instead calling receive() on the consumers, it is possible for the application to consume messages "out of order", in this case it is not correct to acknowledge all messages up to and including the id of the last message consumed.  Instead only those messages which have actually been consumed should be acknowledged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Assigned: (QPID-209) Message.acknowledge() should only acknowledge messages consumed by the application

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-209?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rob Godfrey reassigned QPID-209:
--------------------------------

    Assignee: Rob Godfrey

> Message.acknowledge() should only acknowledge messages consumed by the application
> ----------------------------------------------------------------------------------
>
>                 Key: QPID-209
>                 URL: https://issues.apache.org/jira/browse/QPID-209
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client, JMS Compliance
>            Reporter: Rob Godfrey
>         Assigned To: Rob Godfrey
>            Priority: Minor
>             Fix For: M2
>
>         Attachments: QPID-209.patch
>
>
> If not using MessageListeners, but instead calling receive() on the consumers, it is possible for the application to consume messages "out of order", in this case it is not correct to acknowledge all messages up to and including the id of the last message consumed.  Instead only those messages which have actually been consumed should be acknowledged.

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


[jira] Commented: (QPID-209) Message.acknowledge() should only acknowledge messages consumed by the application

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
    [ http://issues.apache.org/jira/browse/QPID-209?page=comments#action_12459235 ] 
            
Rob Godfrey commented on QPID-209:
----------------------------------

The supplied patch is sub-optimal in that this special case only applies when you are not using MessageListeners.  Rather than individually acknowledging messages, we should use the previous implementation (of doing a multiple acknowledge on the last consumed Message) in this case.

Even in the no Message Listener case, we should be able to optimize the acknowledges sent so that the majority of cases can be handled with multiple acknowledge.

> Message.acknowledge() should only acknowledge messages consumed by the application
> ----------------------------------------------------------------------------------
>
>                 Key: QPID-209
>                 URL: http://issues.apache.org/jira/browse/QPID-209
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client, JMS Compliance
>            Reporter: Rob Godfrey
>            Priority: Minor
>         Attachments: QPID-209.patch
>
>
> If not using MessageListeners, but instead calling receive() on the consumers, it is possible for the application to consume messages "out of order", in this case it is not correct to acknowledge all messages up to and including the id of the last message consumed.  Instead only those messages which have actually been consumed should be acknowledged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (QPID-209) Message.acknowledge() should only acknowledge messages consumed by the application

Posted by "Rob Godfrey (JIRA)" <qp...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/QPID-209?page=all ]

Rob Godfrey updated QPID-209:
-----------------------------

    Attachment: QPID-209.patch

Fix attached so that unacknowledge messages are tracked individually by each consumer.

Unit test case for previous issue attached.

> Message.acknowledge() should only acknowledge messages consumed by the application
> ----------------------------------------------------------------------------------
>
>                 Key: QPID-209
>                 URL: http://issues.apache.org/jira/browse/QPID-209
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client, JMS Compliance
>            Reporter: Rob Godfrey
>            Priority: Minor
>         Attachments: QPID-209.patch
>
>
> If not using MessageListeners, but instead calling receive() on the consumers, it is possible for the application to consume messages "out of order", in this case it is not correct to acknowledge all messages up to and including the id of the last message consumed.  Instead only those messages which have actually been consumed should be acknowledged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Resolved: (QPID-209) Message.acknowledge() should only acknowledge messages consumed by the application

Posted by "Robert Greig (JIRA)" <qp...@incubator.apache.org>.
     [ http://issues.apache.org/jira/browse/QPID-209?page=all ]

Robert Greig resolved QPID-209.
-------------------------------

    Fix Version/s: M2
       Resolution: Fixed

Committed svn revision 488159

> Message.acknowledge() should only acknowledge messages consumed by the application
> ----------------------------------------------------------------------------------
>
>                 Key: QPID-209
>                 URL: http://issues.apache.org/jira/browse/QPID-209
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client, JMS Compliance
>            Reporter: Rob Godfrey
>            Priority: Minor
>             Fix For: M2
>
>         Attachments: QPID-209.patch
>
>
> If not using MessageListeners, but instead calling receive() on the consumers, it is possible for the application to consume messages "out of order", in this case it is not correct to acknowledge all messages up to and including the id of the last message consumed.  Instead only those messages which have actually been consumed should be acknowledged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira