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]

Reply via email to