Remove Rugged patches from gitlab
We have been forced to walk back part of the Gitaly migration project because it turned out that in certain scenarios, the old gitlab-ce code that used Rugged is still significantly more performant than the new Gitaly code. Specifically, this is the case for some GitLab installations that host their Git repository data on slow NFS servers.
The code in question can be found here: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/lib/gitlab/git/rugged_impl
This is blocking us from completing the Gitaly migration project. These rugged patches should be removed again. This issue is meant to track their removal.
Current Plan of Record for 14.3 and beyond
Summary of the discussion in the below thread
We don't believe that the Rugged patches are necessary for our customers utilizing NFS as we believe that performance issues necessitating these patches are mitigated.
As the Rugged patches create an additional maintenance concern for the Gitaly team, as well as not supporting the direction of moving customers requiring HA towards Gitaly Cluster. We therefore feel that they should be removed.
Starting in %14.3, we will default to disabling the Rugged patches. As stated above, we don't believe that this will cause any performance issues for our users.
Mitigations pending customer issues
-
The Rugged patches are currently behind a feature flag. Starting in %14.3 we will be defaulting this feature flag to disable Rugged, but we will not be removing the feature flag. If customers notice performance degradation, they can re-enable the Rugged patches via the feature flag.
-
Pending significant customer performance issues, the current plan is to remove the Rugged patches a couple of releases past %14.3 and the associated feature flag.