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:29:47 UTC

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

    [ https://issues.apache.org/jira/browse/DISPATCH-33?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13942313#comment-13942313 ] 

Ted Ross commented on DISPATCH-33:
----------------------------------

I believe this issue only pertains to pre-settled message delivery.  The solution to the problem is to hold the proton delivery records for pre-settled messages until they have been sent and removed from memory.

> 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
>             Fix For: 0.3
>
>
> 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