Re: Cloning does not work on available download bandwidth changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 23, 2024 at 12:58:27AM +0200, Paweł Bogusławski wrote:

> Try to run
> 
> git clone https://github.com/googleapis/google-api-go-client
> 
> and limit interface speed somehow i.e.
> 
> tc qdisc add dev eth0 root handle 1: htb default 12
> tc class add dev eth0 parent 1:1 classid 1:12 htb rate 20kbps ceil 20kbps
> tc qdisc add dev eth0 parent 1:12 netem delay 1000ms
> 
> and after a while restore speed with i.e.
> 
> tc qdisc del dev eth0 parent 1:12 netem delay 1000ms
> 
> I tried this in Debian 11 and  git 2.30.2 died with:
> 
> error: 5723 bytes of body are still expected MiB | 920.00 KiB/s
> fetch-pack: unexpected disconnect while reading sideband packet
> fatal: early EOF
> fatal: index-pack failed

I did run it a few times. It usually succeeds, but sometimes fails. When
it does fail, it does so in "slow" mode, without speeding back up. And
I see one message from before your "error:" line, which is a report that
curl reported that the connection dropped (curl is shuttling data back
from the server in the form of "packet lines", each of which is prefixed
with its expected size; the "N bytes of body are still expected" is just
that parser seeing a truncated response from curl).

But I don't think any of this is due to what Git is doing on the client
side. From the client view, the server sends a TCP RST (which I observed
with wireshark), and the connection drops. I'd suspect the drop is not
even from the application level on the server side, but rather that
something in the network path was mad about the delayed packets (or
possibly the spam of duplicated TCP acks that I sometimes saw).

So I really think this is a network issue, and not a Git issue in
particular. It's possible that the networking stack that github.com uses
is more picky about the things I mentioned above. But again, not a Git
issue.

-Peff




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux