You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2015/01/09 16:35:34 UTC

[jira] [Created] (PROTON-796) support reducing credit [as a means to stop a link without drain]

Robbie Gemmell created PROTON-796:
-------------------------------------

             Summary: support reducing credit [as a means to stop a link without drain]
                 Key: PROTON-796
                 URL: https://issues.apache.org/jira/browse/PROTON-796
             Project: Qpid Proton
          Issue Type: Improvement
          Components: proton-c, proton-j
            Reporter: Robbie Gemmell


It would be useful if there was full support for reducing crdit on a link, perhaps even to 0 as a means of stopping it.

Currently the way to stop a link [and determine that it has actually stopped] would be to issue a 'drain' flow request and then handle either a flow response or arriving messages resulting in credit reaching 0.

Using drain in this way effectively acts as request for any more messages to be sent by the peer using remaining credit if it already could have but had yet to do so. In contrast, the peer wishing to stop the link might prefer those messages actually not be sent, as it is indicating it doesnt want those messages currently. This could be possible by reducing credit on the link to 0, and requesting the updated state be echo'd as shown at [1], though this would require PROTON-795 be resolved.

It may currently be possible to fiddle with credit and drain handling (e.g 'adding or 'drain'ing negative credit) to simulate this currently, however it isnt clear that the resulting behaviour would be desirable, given the impact of any message already in-flight from the peer before it receives the credit-reducing flow which might lead to situations like negative-credit.

[1] http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#doc-idp429232



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)