activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher L. Shannon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4467) Memory usage percent can be exceeded much if PFC is disabled
Date Tue, 10 Jan 2017 13:46:58 GMT

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

Christopher L. Shannon commented on AMQ-4467:
---------------------------------------------

Ah ok, I understand better now thanks for the explanation.  So the core behavior hasn't changed
and now the usage just goes up to 100% if using multiple destinations.  Now that I think about
it, I'm pretty sure I've seen this behavior happen where dispatch slows to a crawl down when
memory usage hits the high water mark because future dispatched messages have to wait for
messages to be acked as shown in your test at 50%.

Purging the cursor is an interesting idea and I think would be a nice improvement.  Clearing
out the the cursor cache if the destination is inactive so other active destinations get access
to all of the memory certainly seems like the ideal solution.  If I get some time I will play
around with this a little bit as a feature for the 5.15 release.


> Memory usage percent can be exceeded much if PFC is disabled
> ------------------------------------------------------------
>
>                 Key: AMQ-4467
>                 URL: https://issues.apache.org/jira/browse/AMQ-4467
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.x
>            Reporter: SuoNayi
>            Assignee: Gary Tully
>             Fix For: 5.15.0
>
>         Attachments: AMQ-4467.patch
>
>
> If PFC is disabled, when the store cursor checks limits, it checks only the memory percentage
of its own MemoryUsage and compares it to the high water mark. Otherwise if PFC is enabled,
it checks whether the MemoryUsage is "full" but the "isFull" method also checks its parents.
> This issue arrises when you have memory limits set on queues higher than the overall
system limit, as well as if you have multiple queues who's memory limits combined are higher
than the overall system limit. These settings must be taken into account.
> The original form can be found at 
> http://activemq.2283324.n4.nabble.com/What-can-be-reason-of-460-memory-usage-limit-td4665651.html



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

Mime
View raw message