Skip to content

Make use of a quarantine repo in FetchSourceBranch

Karthik Nayak requested to merge kn-4520-fetch-source-branch-quarantine-2 into master

FetchSourceBranch spawns git-fetch(1), which on its own does not make use of a quarantine directory. This can be problem, as there may be cases where the objects are fetched and in the repository, and then the connectivity check fails (times out) as we saw in gitlab#336657 (comment 1131500685).

This leaves the repository in a potentially corrupted state, as we may have received objects that would fail a connectivity check.

We can make use of a quarantine directory that we create manually in Gitaly. The Operations service mutators make use of this. We can use a similar strategy for FetchSourceBranch

Closes #4520 (closed)

Merge request reports