Re: Request: timeout option for remote operations, esp. "git fetch"
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 12, 2013, 17:45 UTC
- Message-ID
- <xmqq1u2likea.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <52825EBF.3050603@zytor.com>
"H. Peter Anvin" <hpa@zytor.com> writes:
Show 15 quoted lines
> On 11/10/2013 12:17 PM, Eric Wong wrote: >> "H. Peter Anvin" <hpa@zytor.com> wrote: >>> When a remote server is unavailable or very slow, some git commands can >>> stall out indefinitely. It would be a very good thing if remote >>> commands -- but especially git fetch -- could be given a timeout. >> >> We've had SO_KEEPALIVE on git and ssh transports since e47a8583 (2011-12-06) >> SO_KEEPALIVE for http was added recently (a15d069a) and will be in git 1.8.5 >> >> Do you want a shorter timeout for slow (but still alive) servers? >> > > Yes; note that SO_KEEPALIVE only guarantees that the server is alive at > the TCP socket level. If the server is overloaded but technically alive > it may still make no meaningful forward progress.
Which means that your original wish may not be granted with SO_KEEPALIVE at all, no? I was wondering if you wanted a forced timeout based on alarm(2), something similar to what you added to git-daemon in 960deccb (git-daemon: timeout, eliminate double DWIM, 2005-10-19).