[zeromq-dev] Blocking on multiple outputs

Jon Dyte jon at totient.co.uk
Wed Jun 1 21:31:09 CEST 2011


Martin Sustrik wrote:
> On 06/01/2011 07:33 PM, Pieter Hintjens wrote:
>
>   
>> Now to avoid memory exhaustion, the server sets a HWM. Each client
>> output queue is independent, each is limited to the same HWM.
>>
>> We now get the situation where one slow client reaches its queue
>> limit. At this stage, the server either blocks on send, or receives
>> EAGAIN if it's doing non-blocking sends.
>>
>> Consequence: one slow client blocks all clients.
>>
>> What's the best way around this?
>>     
>
> If it behaves that way, it's a bug. The correct behaviour should be to 
> remove the blocked queue from load balancing. Ie. any further requests 
> are going to be sent to the other peers until the blocked peer reads the 
> some pending requests and thus creates a space in its queue.
>   

isnt this essentially related to the fact that xrep_t::has_out always 
returns true?


> Martin
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>   




More information about the zeromq-dev mailing list