summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab/features.rake
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2019-02-21 13:07:26 -0800
committerStan Hu <stanhu@gmail.com>2019-03-01 08:45:51 -0800
commitfb6a4e21d4a5142e72ac5864fae29192cfc59d64 (patch)
treee5c466f4a3bca5b18f462e90564fbf1f92303460 /lib/tasks/gitlab/features.rake
parentd86de642d16e0f7518c7f508b5282c89128e9a58 (diff)
downloadgitlab-ce-fb6a4e21d4a5142e72ac5864fae29192cfc59d64.tar.gz
Bring back Rugged implementation of find_commit
This brings back some of the changes in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/20339. For users using Gitaly on top of NFS, accessing the Git data directly via Rugged is more performant than Gitaly. This merge request introduces the feature flag `rugged_find_commit` to activate Rugged paths. There are also Rake tasks `gitlab:features:enable_rugged` and `gitlab:features:disable_rugged` to enable/disable these feature flags altogether. Part of four Rugged changes identified in https://gitlab.com/gitlab-org/gitlab-ce/issues/57317.
Diffstat (limited to 'lib/tasks/gitlab/features.rake')
-rw-r--r--lib/tasks/gitlab/features.rake24
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/features.rake b/lib/tasks/gitlab/features.rake
new file mode 100644
index 00000000000..d115961108e
--- /dev/null
+++ b/lib/tasks/gitlab/features.rake
@@ -0,0 +1,24 @@
+namespace :gitlab do
+ namespace :features do
+ desc 'GitLab | Features | Enable direct Git access via Rugged for NFS'
+ task enable_rugged: :environment do
+ set_rugged_feature_flags(true)
+ puts 'All Rugged feature flags were enabled.'
+ end
+
+ task disable_rugged: :environment do
+ set_rugged_feature_flags(false)
+ puts 'All Rugged feature flags were disabled.'
+ end
+ end
+
+ def set_rugged_feature_flags(status)
+ Gitlab::Git::RuggedImpl::Repository::FEATURE_FLAGS.each do |flag|
+ if status
+ Feature.enable(flag)
+ else
+ Feature.disable(flag)
+ end
+ end
+ end
+end