[rabbitmq-discuss] Memory Management Concerns / Questions
andy.berryman at channeladvisor.com
Thu Dec 22 19:53:59 GMT 2011
In my test case, I have intentionally coded the consumer to never
catch up. During the process, I saw the publishers get blocked after
the alert, messages were streamed to disk enough to get below the
watermark, and the publishers were unblocked. Of course they hit the
watermark soon after and the same process happened again. I'd say
this happened maybe 4 or 5 times and then they just remained in a
blocked state. I let the test continue running for almost 10 minutes
and they never became unblocked and the watermark alert never seemed
to clear on the server. So I guess that means that it stopped
streaming the messages to disk or something? Either way, I'm going to
have to come up with a way to implement something in my code to try to
avoid tying up a thread for an unknown amount of time. Any ideas? Is
there a way to subscribe to the watermark event or something?
On Dec 22, 2:48 pm, Matthias Radestock <matth... at rabbitmq.com> wrote:
> On 22/12/11 19:35, AndyB wrote:
> > But this gets me to my next concern ... The throttling of the
> > publishers appears to be a blocking operation from within the
> > "BasicPublish" method and as best I can tell, I'm not seeing any
> > sort of timeout. This indefinite blocking would be pretty bad if it
> > were to occur in my production environment.
> It's not going to block indefinitely, since the paging to disk, or the
> consumption of messages, will free up space, at which point the
> producers are unblocked.
> Just think of this situation as being the same as a slow network /
> server; it's indistinguishable from that.
> > Is there a way that I can specify some sort of timeout for the
> > blocking operation?
> rabbitmq-discuss mailing list
> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
More information about the rabbitmq-discuss