Fixes T4241. Ref T4206. See T4241 for a description here. Generally, when we connect a fat pipe (git-upload-pack) to a narrow one (git over SSH) we currently read limitless data into memory. Instead, throttle reads until writes catch up. This is now possible because of the previous changes in this sequence.
Details
Details
- Reviewers
btrahan - Maniphest Tasks
- T4241: Cloning repository keeps entire repository in memory as it's being streamed over SSH
T4206: Rare hosted Git SSH error "fatal: The remote end hung up unexpectedly" - Commits
- Restricted Diffusion Commit
rPf7464400a510: Limit memory usage of `ssh-exec` during large pull operations
- Ran git clone and git push on the entire Wine repository.
- Observed CPU and memory usage.
- Memory usage was constant and low, CPU usage was high only during I/O (which is expected, since we have to actually do work, although thre might be room to further reduce this).
Diff Detail
Diff Detail
- Lint
Lint Skipped - Unit
Tests Skipped