gitlab-org--gitlab-foss/db/post_migrate
Bob Van Landuyt f1ae1e39ce Move the circuitbreaker check out in a separate process
Moving the check out of the general requests, makes sure we don't have
any slowdown in the regular requests.

To keep the process performing this checks small, the check is still
performed inside a unicorn. But that is called from a process running
on the same server.

Because the checks are now done outside normal request, we can have a
simpler failure strategy:

The check is now performed in the background every
`circuitbreaker_check_interval`. Failures are logged in redis. The
failures are reset when the check succeeds. Per check we will try
`circuitbreaker_access_retries` times within
`circuitbreaker_storage_timeout` seconds.

When the number of failures exceeds
`circuitbreaker_failure_count_threshold`, we will block access to the
storage.

After `failure_reset_time` of no checks, we will clear the stored
failures. This could happen when the process that performs the checks
is not running.
2017-12-08 09:11:39 +01:00
..
.gitkeep
20160824121037_change_personal_access_tokens_default_back_to_empty_array.rb
20161011222551_remove_inactive_jira_service_properties.rb
20161109150329_fix_project_records_with_invalid_visibility.rb
20161128170531_drop_user_activities_table.rb
20161221140236_remove_unneeded_services.rb
20161221153951_rename_reserved_project_names.rb
20170104150317_requeue_pending_delete_projects.rb
20170106142508_fill_authorized_projects.rb
20170106172224_remove_project_authorizations_id_column.rb
20170131214021_reset_users_authorized_projects_populated.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170206040400_remove_inactive_default_email_services.rb
20170206101007_remove_trackable_columns_from_timelogs.rb
20170206101030_validate_foreign_keys_on_timelogs.rb
20170209140523_validate_foreign_keys_on_oauth_openid_requests.rb
20170211073944_disable_invalid_service_templates.rb
20170214111112_delete_deprecated_gitlab_ci_service.rb
20170215200045_remove_theme_id_from_users.rb
20170301205640_migrate_build_events_to_pipeline_events.rb
20170306170512_migrate_legacy_manual_actions.rb
20170309171644_reset_relative_position_for_issue.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170313133418_rename_more_reserved_project_names.rb
20170317162059_update_upload_paths_to_system.rb
20170324160416_migrate_user_activities_to_users_last_activity_on.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170404170532_remove_notes_original_discussion_id.rb
20170406111121_clean_upload_symlinks.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
20170406142253_migrate_user_project_view.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170408033905_remove_old_cache_directories.rb
20170412174900_rename_reserved_dynamic_paths.rb
20170425121605_migrate_trigger_schedules_to_pipeline_schedules.rb
20170425130047_drop_ci_trigger_schedules_table.rb
20170502070007_enable_auto_cancel_pending_pipelines_for_all.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170502101023_cleanup_namespaceless_pending_delete_projects.rb
20170503004427_update_retried_for_ci_build.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170503120310_remove_users_authorized_projects_populated.rb
20170508170547_add_head_pipeline_for_each_merge_request.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170510101043_add_foreign_key_on_pipeline_schedule_owner.rb
20170511100900_cleanup_rename_web_hooks_build_events_to_job_events.rb
20170511101000_cleanup_rename_services_build_events_to_job_events.rb
20170516165238_cleanup_trigger_for_issues.rb
20170516181025_add_constraints_to_issue_assignees_table.rb
20170518200835_rename_users_with_renamed_namespace.rb
20170518231126_fix_wrongly_renamed_routes.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170523083112_migrate_old_artifacts.rb
20170525140254_rename_all_reserved_paths_again.rb Don't rename groups/projects that aren't reserved anymore 2017-10-24 16:06:01 +03:00
20170526185842_migrate_pipeline_stages.rb
20170526185858_create_index_in_pipeline_stages.rb
20170526185901_remove_stage_id_index_from_builds.rb
20170526185921_migrate_build_stage_reference.rb
20170526190000_migrate_build_stage_reference_again.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170531203055_cleanup_users_ldap_email_rename.rb
20170606202615_move_appearance_to_system_dir.rb
20170607121233_convert_custom_notification_settings_to_columns.rb
20170609183112_remove_position_from_issuables.rb
20170612071012_move_personal_snippets_files.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
20170613111224_clean_appearance_symlinks.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
20170621102400_add_stage_id_index_to_builds.rb
20170627101016_schedule_event_migrations.rb Consistently schedule Sidekiq jobs 2017-12-05 11:59:39 +01:00
20170628080858_migrate_stage_id_reference_in_background.rb
20170629180131_cleanup_application_settings_signin_enabled_rename.rb
20170703130158_schedule_merge_request_diff_migrations.rb
20170711145558_migrate_stages_statuses.rb
20170717111152_cleanup_move_system_upload_folder_symlink.rb
20170717150329_enqueue_migrate_system_uploads_to_new_folder.rb
20170719150301_merge_issuable_reopened_into_opened_state.rb
20170728101014_remove_events_from_notification_settings.rb
20170803090603_calculate_conv_dev_index_percentages.rb
20170807160457_remove_locked_at_column_from_merge_requests.rb
20170807190736_move_personal_snippet_files_into_correct_folder.rb
20170815060945_remove_duplicate_mr_events.rb
20170816102555_cleanup_nonexisting_namespace_pending_delete_projects.rb
20170822101017_migrate_pipeline_sidekiq_queues.rb
20170828170502_post_deploy_migrate_user_external_mail_data.rb
20170828170513_remove_user_email_provider_column.rb
20170828170516_remove_user_external_mail_columns.rb
20170830084744_destroy_gpg_signatures.rb
20170830150306_drop_events_for_migration_table.rb
20170831195038_remove_valid_signature_from_gpg_signatures.rb
20170907170235_delete_conflicting_redirect_routes.rb
20170913180600_fix_projects_without_project_feature.rb
20170921101004_normalize_ldap_extern_uids.rb
20170926150348_schedule_merge_request_diff_migrations_take_two.rb
20170927112318_update_legacy_diff_notes_type_for_import.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20170927112319_update_notes_type_for_import.rb Prevent update_column_in_batches on large tables 2017-11-17 16:56:50 +00:00
20171005130944_schedule_create_gpg_key_subkeys_from_gpg_keys.rb Consistently schedule Sidekiq jobs 2017-12-05 11:59:39 +01:00
20171012150314_remove_user_authentication_token.rb Remove user authentication_token column 2017-11-02 11:39:03 +01:00
20171013104327_migrate_gcp_clusters_to_new_clusters_architectures.rb Remove cluster_id from 20171013104327_migrate_gcp_clusters_to_new_clusters_architectures 2017-11-23 20:42:20 +09:00
20171026082505_schedule_merge_request_latest_merge_request_diff_id_migrations.rb Convert migration to populate latest merge request ID into a background migration 2017-11-17 10:23:48 +00:00
20171101134435_remove_ref_fetched_from_merge_requests.rb make the migration reversible 2017-11-03 08:13:11 -04:00
20171103140253_track_untracked_uploads.rb Move temp table creation into the prepare job 2017-12-01 15:26:41 -08:00
20171106133144_cleanup_application_settings_password_authentication_enabled_rename.rb Allow password authentication to be disabled entirely 2017-11-23 13:16:14 +00:00
20171106180641_cleanup_add_timezone_to_issues_closed_at.rb Clean up schema of the "issues" table 2017-11-09 18:00:30 +01:00
20171114104051_remove_empty_fork_networks.rb Delete orphaned fork networks in a migration 2017-11-17 12:58:15 +01:00
20171121160421_remove_merge_request_diff_st_commits_and_st_diffs.rb Remove serialised diff and commit columns 2017-11-28 16:13:40 +00:00
20171123101020_update_circuitbreaker_defaults.rb Move the circuitbreaker check out in a separate process 2017-12-08 09:11:39 +01:00
20171123101046_remove_old_circuitbreaker_config.rb Move the circuitbreaker check out in a separate process 2017-12-08 09:11:39 +01:00
20171124095655_add_index_on_merge_request_diffs_merge_request_id_and_id.rb Improve indexes on merge_request_diffs 2017-11-28 16:13:57 +00:00
20171124100152_remove_index_on_merge_request_diffs_merge_request_diff_id.rb Improve indexes on merge_request_diffs 2017-11-28 16:13:57 +00:00
20171124150326_reschedule_fork_network_creation.rb Reschedule the migration to populate fork networks 2017-11-29 12:12:55 +01:00
20171205190711_reschedule_fork_network_creation_caller.rb The API isn't using the appropriate services for managing forks 2017-12-07 08:44:55 +00:00