[rabbitmq-discuss] memory flow control

Raviv Pavel raviv at gigya-inc.com
Thu Oct 4 16:44:22 BST 2012


Because it's not slower - it's blocked and the SDK doesn't allow me to
specify a timeout.
So once a rabbit node gets clogged with unacked messages and hits it's
memory watermark, any thread in my app trying to publish will get blocked
forever.
I've been looking at the source for the .NET SDK (which w'ere using) and it
blocks on flushing to the TCP stream.
I ended up modifying the SDK to set a send timeout on the socket, so when
the server blocks producers, I get an exception after 2 seconds instead of
being blocked.

Thanks
*--*Raviv
*
*



On Thu, Oct 4, 2012 at 4:54 PM, Matthias Radestock <matthias at rabbitmq.com>wrote:

> On 04/10/12 11:47, Raviv Pavel wrote:
>
>> I think I've read somewhere that it's not currently possible.
>> I need the same thing :(
>>
>> On Tuesday, September 25, 2012 11:47:18 PM UTC+2, Dmitriy Stolyarov
>> wrote:
>>
>>     Hi,
>>     Is there a way to have the producer throw an exception instead of
>>     just being blocked when high memory water mark is reached on the
>>     server? (Using java client)
>>
>
> Why you would want to treat this condition any different from a network
> delay/disruption or a slow server?
>
> It possible to detect that, indirectly, using a technique I described in
> http://rabbitmq.1065348.n5.**nabble.com/Memory-Management-**
> Concerns-Questions-**tp13225p13233.html<http://rabbitmq.1065348.n5.nabble.com/Memory-Management-Concerns-Questions-tp13225p13233.html>(which I shall henceforth call "user level EWOULDBLOCK" ;)
>
> Matthias.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20121004/dbd7270e/attachment.htm>


More information about the rabbitmq-discuss mailing list