summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities.rb6
-rw-r--r--lib/api/users.rb4
-rw-r--r--lib/gitlab/background_migration/encrypt_columns.rb14
-rw-r--r--lib/gitlab/sidekiq_middleware/batch_loader.rb13
-rw-r--r--lib/tasks/gitlab/site_statistics.rake15
5 files changed, 18 insertions, 34 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 5572e86985c..61d57c643f0 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -1263,11 +1263,7 @@ module API
expose :token
end
- class ImpersonationToken < PersonalAccessToken
- expose :impersonation
- end
-
- class ImpersonationTokenWithToken < PersonalAccessTokenWithToken
+ class ImpersonationToken < PersonalAccessTokenWithToken
expose :impersonation
end
diff --git a/lib/api/users.rb b/lib/api/users.rb
index b41fce76df0..2a56506f3a5 100644
--- a/lib/api/users.rb
+++ b/lib/api/users.rb
@@ -531,7 +531,7 @@ module API
desc 'Create a impersonation token. Available only for admins.' do
detail 'This feature was introduced in GitLab 9.0'
- success Entities::ImpersonationTokenWithToken
+ success Entities::ImpersonationToken
end
params do
requires :name, type: String, desc: 'The name of the impersonation token'
@@ -542,7 +542,7 @@ module API
impersonation_token = finder.build(declared_params(include_missing: false))
if impersonation_token.save
- present impersonation_token, with: Entities::ImpersonationTokenWithToken
+ present impersonation_token, with: Entities::ImpersonationToken
else
render_validation_error!(impersonation_token)
end
diff --git a/lib/gitlab/background_migration/encrypt_columns.rb b/lib/gitlab/background_migration/encrypt_columns.rb
index bd5f12276ab..0d333e47e7b 100644
--- a/lib/gitlab/background_migration/encrypt_columns.rb
+++ b/lib/gitlab/background_migration/encrypt_columns.rb
@@ -17,12 +17,6 @@ module Gitlab
class EncryptColumns
def perform(model, attributes, from, to)
model = model.constantize if model.is_a?(String)
-
- # If sidekiq hasn't undergone a restart, its idea of what columns are
- # present may be inaccurate, so ensure this is as fresh as possible
- model.reset_column_information
- model.define_attribute_methods
-
attributes = expand_attributes(model, Array(attributes).map(&:to_sym))
model.transaction do
@@ -47,14 +41,6 @@ module Gitlab
raise "Couldn't determine encrypted column for #{klass}##{attribute}" if
crypt_column_name.nil?
- raise "#{klass} source column: #{attribute} is missing" unless
- klass.column_names.include?(attribute.to_s)
-
- # Running the migration without the destination column being present
- # leads to data loss
- raise "#{klass} destination column: #{crypt_column_name} is missing" unless
- klass.column_names.include?(crypt_column_name.to_s)
-
[attribute, crypt_column_name]
end
diff --git a/lib/gitlab/sidekiq_middleware/batch_loader.rb b/lib/gitlab/sidekiq_middleware/batch_loader.rb
deleted file mode 100644
index 75c4efc3042..00000000000
--- a/lib/gitlab/sidekiq_middleware/batch_loader.rb
+++ /dev/null
@@ -1,13 +0,0 @@
-# frozen_string_literal: true
-
-module Gitlab
- module SidekiqMiddleware
- class BatchLoader
- def call(worker, job, queue)
- yield
- ensure
- ::BatchLoader::Executor.clear_current
- end
- end
- end
-end
diff --git a/lib/tasks/gitlab/site_statistics.rake b/lib/tasks/gitlab/site_statistics.rake
new file mode 100644
index 00000000000..d97f11b2ed5
--- /dev/null
+++ b/lib/tasks/gitlab/site_statistics.rake
@@ -0,0 +1,15 @@
+namespace :gitlab do
+ desc "GitLab | Refresh Site Statistics counters"
+ task refresh_site_statistics: :environment do
+ puts 'Updating Site Statistics counters: '
+
+ print '* Repositories... '
+ SiteStatistic.transaction do
+ # see https://gitlab.com/gitlab-org/gitlab-ce/issues/48967
+ ActiveRecord::Base.connection.execute('SET LOCAL statement_timeout TO 0') if Gitlab::Database.postgresql?
+ SiteStatistic.update_all('repositories_count = (SELECT COUNT(*) FROM projects)')
+ end
+ puts 'OK!'.color(:green)
+ puts
+ end
+end