Class: Gitlab::BackgroundMigration::RemoveAllTraceExpirationDates
- Inherits:
-
Object
- Object
- Gitlab::BackgroundMigration::RemoveAllTraceExpirationDates
- Includes:
- Database::MigrationHelpers
- Defined in:
- lib/gitlab/background_migration/remove_all_trace_expiration_dates.rb
Overview
Removing expire_at timestamps that shouldn't have been written to traces on gitlab.com.
Defined Under Namespace
Classes: JobArtifact, MultiDbAdaptableClass
Constant Summary collapse
- BATCH_SIZE =
1_000
Constants included from Database::MigrationHelpers
Database::MigrationHelpers::DEFAULT_TIMESTAMP_COLUMNS, Database::MigrationHelpers::MAX_IDENTIFIER_NAME_LENGTH
Constants included from Database::Migrations::BatchedBackgroundMigrationHelpers
Database::Migrations::BatchedBackgroundMigrationHelpers::BATCH_CLASS_NAME, Database::Migrations::BatchedBackgroundMigrationHelpers::BATCH_MIN_DELAY, Database::Migrations::BatchedBackgroundMigrationHelpers::BATCH_MIN_VALUE, Database::Migrations::BatchedBackgroundMigrationHelpers::SUB_BATCH_SIZE
Constants included from Database::Migrations::BackgroundMigrationHelpers
Database::Migrations::BackgroundMigrationHelpers::JOB_BUFFER_SIZE
Instance Method Summary collapse
Methods included from Database::MigrationHelpers
#add_check_constraint, #add_column_with_default, #add_concurrent_foreign_key, #add_concurrent_index, #add_not_null_constraint, #add_sequence, #add_text_limit, #add_timestamps_with_timezone, #backfill_conversion_of_integer_to_bigint, #backfill_iids, #change_column_type_concurrently, #check_constraint_exists?, #check_constraint_name, #check_not_null_constraint_exists?, #check_text_limit_exists?, #check_trigger_permissions!, #cleanup_concurrent_column_rename, #cleanup_concurrent_column_type_change, #column_for, #concurrent_foreign_key_name, #convert_to_bigint_column, #copy_check_constraints, #copy_foreign_keys, #copy_indexes, #create_extension, #create_or_update_plan_limit, #create_table_with_constraints, #define_batchable_model, #disable_statement_timeout, #drop_extension, #drop_sequence, #each_batch, #each_batch_range, #ensure_batched_background_migration_is_finished, #false_value, #foreign_key_exists?, #foreign_keys_for, #index_exists_by_name?, #index_invalid?, #indexes_for, #initialize_conversion_of_integer_to_bigint, #install_rename_triggers, #postgres_exists_by_name?, #remove_check_constraint, #remove_concurrent_index, #remove_concurrent_index_by_name, #remove_foreign_key_if_exists, #remove_foreign_key_without_error, #remove_not_null_constraint, #remove_rename_triggers, #remove_text_limit, #remove_timestamps, #rename_column_concurrently, #rename_constraint, #rename_trigger_name, #replace_sql, #restore_conversion_of_integer_to_bigint, #revert_backfill_conversion_of_integer_to_bigint, #revert_initialize_conversion_of_integer_to_bigint, #sidekiq_queue_length, #sidekiq_queue_migrate, #true_value, #undo_change_column_type_concurrently, #undo_cleanup_concurrent_column_rename, #undo_cleanup_concurrent_column_type_change, #undo_rename_column_concurrently, #update_column_in_batches, #validate_check_constraint, #validate_foreign_key, #validate_not_null_constraint, #validate_text_limit, #with_lock_retries
Methods included from Database::AsyncIndexes::MigrationHelpers
#async_index_creation_available?, #prepare_async_index, #unprepare_async_index, #unprepare_async_index_by_name
Methods included from Database::RenameTableHelpers
#finalize_table_rename, #rename_table_safely, #undo_finalize_table_rename, #undo_rename_table_safely
Methods included from Database::DynamicModelHelpers
#define_batchable_model, #each_batch, #each_batch_range
Methods included from Database::Migrations::BatchedBackgroundMigrationHelpers
#delete_batched_background_migration, #finalize_batched_background_migration, #gitlab_schema_from_context, #queue_batched_background_migration
Methods included from Database::Migrations::BackgroundMigrationHelpers
#delete_job_tracking, #delete_queued_jobs, #finalize_background_migration, #migrate_in, #queue_background_migration_jobs_by_range_at_intervals, #requeue_background_migration_jobs_by_range_at_intervals
Methods included from Database::Migrations::ReestablishedConnectionStack
#with_restored_connection_stack
Instance Method Details
#perform(start_id, end_id) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/gitlab/background_migration/remove_all_trace_expiration_dates.rb', line 43 def perform(start_id, end_id) return unless Gitlab.com? JobArtifact.traces .between(start_id, end_id) . .each_batch(of: BATCH_SIZE) { |batch| batch.update_all(expire_at: nil) } end |