Github user grs commented on a diff in the pull request:

    https://github.com/apache/qpid/pull/9#discussion_r68299958
  
    --- Diff: qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp ---
    @@ -142,11 +145,10 @@ void OutgoingFromQueue::handle(pn_delivery_t* 
delivery)
                     if (preAcquires()) {
                         //TODO: handle message-annotations
                         if 
(pn_disposition_is_undeliverable(pn_delivery_remote(delivery))) {
    -                        //treat undeliverable here as rejection
    -                        queue->reject(r.cursor);
    -                    } else {
    -                        queue->release(r.cursor, 
pn_disposition_is_failed(pn_delivery_remote(delivery)));
    +                        undeliverableMessages.add(r.msg.getSequence());
                         }
    +
    +                    queue->release(r.cursor, 
pn_disposition_is_failed(pn_delivery_remote(delivery)));
    --- End diff --
    
    One issue here is that the message will remain on the queue, even if there 
are no other consumers. In some cases that may be what you want, in others 
though it could cause a problem.
    
    What would you think of having a queue level setting that dictated whether 
consumers should reject or track undelivered? Ideally we would then have reject 
as the default for now for backwards compatibility, but the behaviour you 
desire could be enabled when creating the queue? Alternatively we could even 
make the default a broker level option.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to