[sheepdog] [PATCH 2/2] sheep: remove timeout for socket pool

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Thu Jun 7 18:06:29 CEST 2012


At Fri, 08 Jun 2012 00:01:20 +0800,
Liu Yuan wrote:
> 
> On 06/07/2012 11:50 PM, MORITA Kazutaka wrote:
> 
> > The reason we use timeout for socket connections is that, when
> > membership change happens, the gateway should retry I/Os with a new
> > membership instead of sleeping long time in forward_read/write_obj_req
> > with an old membership.  If send/recv/poll blocks for a long time in
> > the gateway node, timeout happens in the guest OSes, which is what we
> > really want to avoid.
> 
> 
> So there is a dilemma: if not long enough, we will cancel a valid
> connection which the other end is just busy.
> 
> I am considering another approach that let recovery thread to kill those
> blocking connection instead of timeout. How about it?

Looks a good approach to me :)

Thanks

Kazutaka



More information about the sheepdog mailing list