You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Robbie Gemmell (JIRA)" <ji...@apache.org> on 2013/01/31 17:43:13 UTC

[jira] [Updated] (QPID-4557) [Java broker] producer flow control functionality can retain sessions in the 'blocked' list longer than necessary, potentially leading to excessive memory use

     [ https://issues.apache.org/jira/browse/QPID-4557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robbie Gemmell updated QPID-4557:
---------------------------------

    Description: 
The producer flow control functionality can retain sessions in the 'blocked' list longer than necessary, leading to eexcessive use of memory.

Currently the sessions are only removed from the 'blocked' list they are placed in when the queue depth exceeds the configrued 'capacity' at the point when the queue depth goes below the 'flow resume capacity' again. If the queue never does this, then sessions are never removed from the lsit and get retained. This can lead to excessive memory uae where a session-per-message pattern is occurring with the producers.

We should look to ensure that closed sessions can be released from memory without requiring the queue becomes 'underfull' again, e.g by use of weak references or some sort of notification.
    
> [Java broker] producer flow control functionality can retain sessions in the 'blocked' list longer than necessary, potentially leading to excessive memory use
> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-4557
>                 URL: https://issues.apache.org/jira/browse/QPID-4557
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.6, 0.8, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20
>            Reporter: Robbie Gemmell
>
> The producer flow control functionality can retain sessions in the 'blocked' list longer than necessary, leading to eexcessive use of memory.
> Currently the sessions are only removed from the 'blocked' list they are placed in when the queue depth exceeds the configrued 'capacity' at the point when the queue depth goes below the 'flow resume capacity' again. If the queue never does this, then sessions are never removed from the lsit and get retained. This can lead to excessive memory uae where a session-per-message pattern is occurring with the producers.
> We should look to ensure that closed sessions can be released from memory without requiring the queue becomes 'underfull' again, e.g by use of weak references or some sort of notification.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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