diff options
Diffstat (limited to 'lib/tasks/gitlab/db.rake')
-rw-r--r-- | lib/tasks/gitlab/db.rake | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/tasks/gitlab/db.rake b/lib/tasks/gitlab/db.rake index 2b508b341dd..51f15f5a56a 100644 --- a/lib/tasks/gitlab/db.rake +++ b/lib/tasks/gitlab/db.rake @@ -161,7 +161,7 @@ namespace :gitlab do exit end - indexes = Gitlab::Database::Reindexing.candidate_indexes + indexes = Gitlab::Database::PostgresIndex.reindexing_support if identifier = args[:index_name] raise ArgumentError, "Index name is not fully qualified with a schema: #{identifier}" unless identifier =~ /^\w+\.\w+$/ @@ -173,6 +173,12 @@ namespace :gitlab do ActiveRecord::Base.logger = Logger.new($stdout) if Gitlab::Utils.to_boolean(ENV['LOG_QUERIES_TO_CONSOLE'], default: false) + # Cleanup leftover temporary indexes from previous, possibly aborted runs (if any) + Gitlab::Database::Reindexing.cleanup_leftovers! + + # Hack: Before we do actual reindexing work, create async indexes + Gitlab::Database::AsyncIndexes.create_pending_indexes! if Feature.enabled?(:database_async_index_creation, type: :ops) + Gitlab::Database::Reindexing.perform(indexes) rescue StandardError => e Gitlab::AppLogger.error(e) @@ -217,7 +223,7 @@ namespace :gitlab do instrumentation = Gitlab::Database::Migrations::Instrumentation.new pending_migrations.each do |migration| - instrumentation.observe(migration.version) do + instrumentation.observe(version: migration.version, name: migration.name) do ActiveRecord::Migrator.new(:up, ctx.migrations, ctx.schema_migration, migration.version).run end end |