Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

cursor memory usage/limit vs memory usage/limit

$
0
0
Hi,

Using activemq-core-5.7.0 (embedded broker), I noticed that there is the
separate memory usage/limit called "cursor memory usage/limit" which the
per-destination memory limit (that I set via per-destination policy) doesn't
account for, but shared between all queues. For example, from the JMX
stats, I see all queues show the same values for the "Cursor*" metrics while
independent stats for "Memory*" stats: the following is the JMX stat of one
of queues:

# the following 3 are all the same between queues
"CursorMemoryUsage": 4294967698,
"CursorPercentUsage": 100,
"CursorFull": true,

# the following 3 are all different between queues
"MemoryLimit" : 536870912,
"MemoryPercentUsage" : 0,
"MemoryUsagePortion" : 0,

I confirmed that this was not just stat difference but actually the queue
above got affected such that it's producers got blocked by hitting this
"cursor memory limit" to which usage it hasn't contributed at all, even
though it doesn't use any memory (MemoryPercentUsage: 0).

So, here're some questions:
1) what's the difference between these two memory areas: cursor-memory-usage
and (just) memory-usage. when/who uses which?
2) can I configure per-destination limit to this cursor-memory-usage as
well?

Thanks!
Jaewoong

Viewing all articles
Browse latest Browse all 5648

Trending Articles