[sheepdog] fix embryonic connection
Liu Yuan
namei.unix at gmail.com
Tue Sep 4 11:08:40 CEST 2012
On 09/04/2012 04:56 PM, MORITA Kazutaka wrote:
> If it works well, it's okay to me for now. But, in future, I'd like
> to consider removing TCP keepalive. If the target node is in the
> sheepdog node list, sheep should keep the connection even if timeout
> is fired. If the target is not in the node list, sheep should close
> the connection ASAP.
This sounds feasible to me. But I have no idea if this will be better
design until the code comes up. I guess this change will push complexity
to sockfd cache and the sockfd usage in gateway code.
The check of availability should be done by
> cluster drivers. That's the reason I suggested "retry poll while
> epoch is not updated".
I am not against removing keepalive, because we have met these
undocumented problems, who ever know we'll meet yet another one. But
before removing it, I'd like see a better design: either simpler code or
efficient new mechanism.
But as for this patch set, one bug is for keepalive, another is for
connect(), which exist in sheepdog for ages.
Thanks,
Yuan
More information about the sheepdog
mailing list