qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robbie Gemmell <robbie.gemm...@gmail.com>
Subject Re: acknowledge not releasing message with C++ messaging api
Date Wed, 29 Apr 2015 17:57:15 GMT
On 29 April 2015 at 17:46, Matt Broadstone <mbroadst@gmail.com> 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).
>
> 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 just in case there is operator error happening on my part:
>
> Regards,
> Matt

I know very little of the C++ code in question I'm afraid, but the
title of the email did make me note something. I wouldnt expect the
released count to increase if you do call acknowledge, since releasing
is essentially something that tends to happen (implicitly or
excplicitly) after you *dont* acknowledge.

To help those who might be able to answer...some questions...

>From IRC (and the above) I believe you are using 0.28 of both client
and server, is that right? I expect you are using AMQP 1.0 at least
some of the time from your mentions of the NodeJS client you have
worked on, but are you definitely using AMQP 1.0 with the C++ client?
I saw you mention 0.32 earlier on IRC, have you tried with that yet
(now that it is available on your platform)?

Robbie

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message