You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Andy Goldstein (JIRA)" <ji...@apache.org> on 2011/04/12 15:12:05 UTC

[jira] [Created] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Ability to acknowledge all messages up to and including a given message for a Session
-------------------------------------------------------------------------------------

                 Key: QPID-3200
                 URL: https://issues.apache.org/jira/browse/QPID-3200
             Project: Qpid
          Issue Type: Improvement
          Components: C++ Client
            Reporter: Andy Goldstein


Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.

Our use case.
 1) create receiver with capacity > 0 (e.g. 100)
 2) repeat:
   a) receive message X from queue A
   b) perform business logic
   c) send message X to a broker (could be same broker, could be a different broker)
 3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "jiraposter@reviews.apache.org (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13049262#comment-13049262 ] 

jiraposter@reviews.apache.org commented on QPID-3200:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/882/#review832
-----------------------------------------------------------

Ship it!


- Kenneth


On 2011-06-10 16:27:29, Gordon Sim wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/882/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-06-10 16:27:29)
bq.  
bq.  
bq.  Review request for qpid.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  This patch adds a new method to the qpid::messaging::Session class in the public API that allows all messages up to a certain point to be acknowledged.
bq.  
bq.  
bq.  This addresses bug QPID-3200.
bq.      https://issues.apache.org/jira/browse/QPID-3200
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/include/qpid/messaging/Session.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.cpp 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp 1133822 
bq.    /trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp 1130102 
bq.  
bq.  Diff: https://reviews.apache.org/r/882/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  All existing tests pass, new test added to cover the new method.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Gordon
bq.  
bq.



> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>             Fix For: 0.11
>
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "jiraposter@reviews.apache.org (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13049152#comment-13049152 ] 

jiraposter@reviews.apache.org commented on QPID-3200:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/882/#review831
-----------------------------------------------------------

Ship it!


- Alan


On 2011-06-10 16:27:29, Gordon Sim wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/882/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-06-10 16:27:29)
bq.  
bq.  
bq.  Review request for qpid.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  This patch adds a new method to the qpid::messaging::Session class in the public API that allows all messages up to a certain point to be acknowledged.
bq.  
bq.  
bq.  This addresses bug QPID-3200.
bq.      https://issues.apache.org/jira/browse/QPID-3200
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/include/qpid/messaging/Session.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.cpp 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.h 1130102 
bq.    /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp 1133822 
bq.    /trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp 1130102 
bq.  
bq.  Diff: https://reviews.apache.org/r/882/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  All existing tests pass, new test added to cover the new method.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Gordon
bq.  
bq.



> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>             Fix For: 0.11
>
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13047272#comment-13047272 ] 

Gordon Sim commented on QPID-3200:
----------------------------------

Review proposed patch at https://reviews.apache.org/r/882/

> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Assigned] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim reassigned QPID-3200:
--------------------------------

    Assignee: Gordon Sim

> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Resolved] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim resolved QPID-3200.
------------------------------

    Resolution: Fixed

> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>             Fix For: 0.11
>
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "Chuck Rolke (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13047453#comment-13047453 ] 

Chuck Rolke commented on QPID-3200:
-----------------------------------

Any change like this to the public interface of course affects the bindings.

I'll post a patch for the .NET Messaging binding by Monday.

-Chuck

> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Commented] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "jiraposter@reviews.apache.org (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13047274#comment-13047274 ] 

jiraposter@reviews.apache.org commented on QPID-3200:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/882/
-----------------------------------------------------------

Review request for qpid.


Summary
-------

This patch adds a new method to the qpid::messaging::Session class in the public API that allows all messages up to a certain point to be acknowledged.


This addresses bug QPID-3200.
    https://issues.apache.org/jira/browse/QPID-3200


Diffs
-----

  /trunk/qpid/cpp/include/qpid/messaging/Session.h 1130102 
  /trunk/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.h 1130102 
  /trunk/qpid/cpp/src/qpid/client/amqp0_10/AcceptTracker.cpp 1130102 
  /trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.h 1130102 
  /trunk/qpid/cpp/src/qpid/client/amqp0_10/IncomingMessages.cpp 1130102 
  /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.h 1130102 
  /trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp 1133822 
  /trunk/qpid/cpp/src/tests/MessagingSessionTests.cpp 1130102 

Diff: https://reviews.apache.org/r/882/diff


Testing
-------

All existing tests pass, new test added to cover the new method.


Thanks,

Gordon



> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] [Updated] (QPID-3200) Ability to acknowledge all messages up to and including a given message for a Session

Posted by "Gordon Sim (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gordon Sim updated QPID-3200:
-----------------------------

    Fix Version/s: 0.11

> Ability to acknowledge all messages up to and including a given message for a Session
> -------------------------------------------------------------------------------------
>
>                 Key: QPID-3200
>                 URL: https://issues.apache.org/jira/browse/QPID-3200
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Client
>            Reporter: Andy Goldstein
>            Assignee: Gordon Sim
>             Fix For: 0.11
>
>
> Currently the Session class gives us the ability to acknowledge either a single specified message, or all outstanding messages for the Session.  We'd like to be able to acknowledge all messages up to and including a given message in a single method call, to save on round trip times to the broker.
> Our use case.
>  1) create receiver with capacity > 0 (e.g. 100)
>  2) repeat:
>    a) receive message X from queue A
>    b) perform business logic
>    c) send message X to a broker (could be same broker, could be a different broker)
>  3) Every so often, we'd like to acknowledge messages that we're certain have been received by the broker in 2c.  We can't use session.acknowledge() because it's possible some messages that we've received in 2a haven't been completed by the broker in 2c.  We plan on checking the unsettled count in our sender and using that to determine which messages can be safely acknowledged.  It's currently slow to ack each message individually, and we think that being able to invoke session.acknowledgeThrough(messageX) should be faster for us.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org