diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-07 15:50:33 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-07 15:50:33 +0200 |
commit | 320229e12aea3c5f52bcf0fb413bb35138ef7c25 (patch) | |
tree | 65aae897f4877115c077fd3c6716dc916f0425ed | |
parent | c467451ea6f39f498b458e11b5f8a74c53d3541d (diff) | |
download | gitlab-ce-320229e12aea3c5f52bcf0fb413bb35138ef7c25.tar.gz |
Do not schedule bg migration when it is not needed
-rw-r--r-- | db/post_migrate/20170628080858_migrate_stage_id_reference_in_background.rb | 2 | ||||
-rw-r--r-- | spec/migrations/migrate_stage_id_reference_in_background_spec.rb | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/db/post_migrate/20170628080858_migrate_stage_id_reference_in_background.rb b/db/post_migrate/20170628080858_migrate_stage_id_reference_in_background.rb index 5b1ff9b8849..f31015d77a3 100644 --- a/db/post_migrate/20170628080858_migrate_stage_id_reference_in_background.rb +++ b/db/post_migrate/20170628080858_migrate_stage_id_reference_in_background.rb @@ -17,7 +17,7 @@ class MigrateStageIdReferenceInBackground < ActiveRecord::Migration # It will take around 3 days to process 20M ci_builds. # def up - Build.all.each_batch(of: BATCH_SIZE) do |relation, index| + Build.where(stage_id: nil).each_batch(of: BATCH_SIZE) do |relation, index| relation.each_batch(of: RANGE_SIZE) do |relation| range = relation.pluck('MIN(id)', 'MAX(id)').first diff --git a/spec/migrations/migrate_stage_id_reference_in_background_spec.rb b/spec/migrations/migrate_stage_id_reference_in_background_spec.rb index e829a9238f6..260378adaa7 100644 --- a/spec/migrations/migrate_stage_id_reference_in_background_spec.rb +++ b/spec/migrations/migrate_stage_id_reference_in_background_spec.rb @@ -51,8 +51,7 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 1, 2) expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 3, 3) expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 4, 5) - expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 6, 6) - expect(BackgroundMigrationWorker.jobs.size).to eq 4 + expect(BackgroundMigrationWorker.jobs.size).to eq 3 end end end |