It does sound like a bug, and it certainly could be the same root cause as
the bug you linked to. Does the workaround in that bug also work
(temporarily) for you?

A shot in the dark: is there any chance that you might have messages
expiring before they can be consumed? I've got a vague recollection of a
bug being fixed recently where we still counted a message as pending when
it expired while in the consumer's dispatch queue; maybe there's a similar
bug for memory usage?

Tim

On Mar 15, 2017 5:01 AM, <david.sit...@gmail.com> wrote:

Hi,

I have an application using ActiveMQ 5.13.5 which uses non-persistent
messages.  There is a queue which has several producers and a single
consumer.

At times I see the CursorMemoryUsage not being 0 despite the queue being
empty.  When this application runs for a very long time,
CursorMemoryUsage grows and this can become an issue with system memory
usage.  My understanding might be wrong but is this a problem?

At first this sounded like
https://issues.apache.org/jira/browse/AMQ-6094 but this has apparently
been fixed for this release.

I've attached a jconsole view showing the issue.  When I invoked via JMX
these operations they return:

doesCursorHaveMessagesBuffered -> false
cursorSize -> 0
doesCursorHaveSpace -> 0

On a different run, I had DEBUG enabled and I've seen these sort of
lines confirming memory usage despite the queue being empty:

2017-03-15 21:47:55,624 [ActiveMQ
BrokerService[cb01e0612bb1468d88828716182f7f39] Task-5] 214837 DEBUG
org.apache.activemq.broker.region.Queue - queue://master-items-7.0,
subscriptions=1, memory=0%, size=0, pending=0 toPageIn: 0, Inflight: 0,
pagedInMessages.size 0, pagedInPendingDispatch.size 0, enqueueCount:
5518, dequeueCount: 5518, memUsage:28538

Is this a bug?  I know I'll be asked for a test case, but I wanted to
confirm it first before proceeding.



--
Cheers,
David

Reply via email to