You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Ted Ross (JIRA)" <ji...@apache.org> on 2014/03/20 22:09:43 UTC

[jira] [Created] (DISPATCH-33) Use session flow control to protect the router's memory

Ted Ross created DISPATCH-33:
--------------------------------

             Summary: Use session flow control to protect the router's memory
                 Key: DISPATCH-33
                 URL: https://issues.apache.org/jira/browse/DISPATCH-33
             Project: Qpid Dispatch
          Issue Type: Improvement
          Components: Router Node
    Affects Versions: 0.2
            Reporter: Ted Ross


Dispatch will allow its internal buffers to grow without bound if message producers are faster than message consumers.  It would be possible to apply back-pressure on senders using link credits but this has some pathological effects depending on the message routing patterns in effect (i.e. well behaved producers may find themselves punished for others' transgressions).

A better approach is to use session-based flow control to put a cap on the amount of memory a single producer can consume in the form of in-flight messages.  This is better because it applies back pressure only to those producers that are over-producing.  Furthermore, session flow control is frame-based (as opposed to link-credits which are message based) which ties the limits to actual memory use because frames are bounded in size.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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