Skip to content

New service InternalGitaly and RPC WalkRepos

Paul Okstad (ex-GitLab) requested to merge po-list-repos into master

What

This change introduces a new internal service for Gitaly.

The internal service adds a new RPC, WalkRepos, that walks the filesystem while emitting a response to Praefect each time a valid git repo is encountered. The RPC will continue walking until done, or until a context cancellation.

Why

This is needed to allow consistency checks in Praefect. Right now, we have no way of knowing what is missing on a recovered secondary between Praefect restarts (due to lack of persistence). However, if we trust the primary has everything we need, it is just a matter of walking the primary's filesystem for git repos. This RPC enables that.

Risks

This RPC does not scale well for large sets of repos. It should only be called from Praefect when performing a consistency check on a recovered node. Concurrent calls to this RPC for the same storage location should be avoided.

Closes #2473 (closed)

Edited by GitLab Release Tools Bot

Merge request reports