On 04/29/2015 05:46 PM, Matt Broadstone wrote:
Hi,
I have a service using the C++ Messaging API which connects to a single
instance of qpidd (currently on the same machine), which seems to crash out
with this exception every couple of days under moderate load:
qpidd[68257]: 2015-04-28 11:56:38 [Broker] error
qpid.192.168.2.225:5672-192.168.2.148:60492: resource-limit-exceeded:
Maximum depth exceeded on
b1386bee-a36c-449d-953f-c25f4842e76d_hive.guest.metadata_7bf9355b-524b-4853-89bd-1848366cd21f:
current=[count: 389438, size: 104857546], max=[size: 104857600]
(/build/buildd/qpid-cpp-0.28/src/qpid/broker/Queue.cpp:1575)
Using qpid-stat I don't see the queue depth ever increase from 0 (which I
gather is why the exception is thrown, from reading the code), however I
-do- notice that the "acquired" count is increasing with every message with
no corresponding "release" (release count is always 0).
That's actually 'expected', in terms of the code. It only increments the
released count when a messages is released back to the queue, rather
than being acknowledged and dequeued. Also there is nothing at present
that decrements the acquired count, so it would be expected to keep
going up.
The exception above is indeed a result of the queue backing up,
apparently reaching a depth of 389438 messages. What address options if
any are used for the receiver consuming from that queue? Is there
anything to indicate whether that receiver was behaving normally just
before the point at which the error occurred?
My service currently looks a lot like the "Receiving Messages from Multiple
Sources" on this page:
https://qpid.apache.org/releases/qpid-0.28/messaging-api/cpp/api/index.html,
and I am definitely calling the message agnostic "session.acknowledge()" in
my main event loop, so I'm not sure why the messages are never released
(presuming that messages would be released about settling/acknowledgement).
I've created a ticket for what I think is a bug in the broker here:
https://issues.apache.org/jira/browse/QPID-6517, but figured I would post
here as well
Always a good idea, just to make sure it gets noticed!
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]