Any idea ?

Thanks

2014-09-06 13:43 GMT+02:00 Jose María Zaragoza <demablo...@gmail.com>:

>
> Hi:
>
> I'm using AMQ 5.10.0 and I'm trying to understand some behaviour about
> destination memory limits
> and how messages are managed in queues by AMQ
>
> I've defined a persistent broker ( kahaDB ) with
>
>  <policyEntry queue=">" optimizedDispatch="true"
> producerFlowControl="true" memoryLimit="100 mb"/>
>
> and
>
> <storeUsage>
>                     <storeUsage limit="500 mb"/>
> </storeUsage>
>
> My test tries to send 2000 messages (1MB). They are persistent messages.
> And *there isn't any consumer reading messages-*
> The result is that in the 249th ( it's not a fixed number after several
> tests), control flow is activated
>
> 2014-09-06 13:19:11,246 | INFO  | Usage Manager Memory Limit (104857600)
> reached on queue://foo.bar, size 249. Producers will be throttled to the
> rate at which messages are removed from this destination to prevent
> flooding it.
>
> My questions are:
>
> - why does AMQ need 100MB in memory to manage persistent messages ? There
> isn't any consumer , so all messages should be stored into disk ( up to
> storeUsage limit, ie,  500MB)
>
> - if the test sends non persistent messages, when the 100th message is
> sent, temporary store is activated ( up to tempUsage limit )
> Why are the non persistent messages swapped to disk and memoryLimit  looks
> not be a problem if there is disk space enough, but persistent messages
> require memory despite there is disk space enough?
>
> Thanks and regards
>
>

Reply via email to