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

Gary Tully commented on AMQ-4467:
---------------------------------

With transactions or concurrentStoreAndDispatch - memory is accounted for 
before it reaches the cache which typically means that the cursor cache stops 
accepting messages early. If we want the cache and PFC we have to let the cache 
consume >100% of memory. To achieve this we must set the 
cursorHighWaterMark>100% something like 120% such that it will still allow a 
message to be cached while is is <100 that will put it over the 100% (full) 
limit.
Ie: we check is full and we are at 99%, we accept another message that pushes 
us to 101%, without a cursorHighWaterMark > 101 the cursor won't cache and will 
stick at 99% and producer flow control (PFC) won't kick in.

> 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.15#6346)

Reply via email to