Page MenuHomePhabricator

Wait for the Git client to disconnect before exiting in Git SSH workflows
ClosedPublic

Authored by epriestley on Nov 11 2013, 5:53 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Dec 27, 2:42 PM
Unknown Object (File)
Sat, Dec 21, 3:10 AM
Unknown Object (File)
Tue, Dec 17, 8:38 AM
Unknown Object (File)
Fri, Dec 13, 3:14 PM
Unknown Object (File)
Sat, Dec 7, 11:20 AM
Unknown Object (File)
Fri, Dec 6, 9:57 AM
Unknown Object (File)
Wed, Dec 4, 6:43 PM
Unknown Object (File)
Nov 16 2024, 8:40 PM
Subscribers

Details

Reviewers
btrahan
Maniphest Tasks
Restricted Maniphest Task
Commits
Restricted Diffusion Commit
rPa4e8fd228974: Wait for the Git client to disconnect before exiting in Git SSH workflows
Summary

Ref T2230. Very rarely, even though we've flushed the connection and sent all the data, we'll close the connection before Git is happy with it and it will flip out with an error like this:

fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

This is hard to reproduce because it depends on the order of read/write operations we can't directly control. I only saw it about 2% of the time, by just running git pull over and over again.

Waiting for Git to close its side of the connection seems to fix it.

Test Plan

Ran git clone a ton of times without seeing the error again. Ran git push a ton of times with new commits.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped