Any update to the Elastic index mappings should be replicated in [`Elastic::Latest::Config`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/lib/elastic/latest/config.rb).
Migrations can be built with a retry limit and have the ability to be [failed and marked as halted](https://gitlab.com/gitlab-org/gitlab/-/blob/66e899b6637372a4faf61cfd2f254cbdd2fb9f6d/ee/lib/elastic/migration.rb#L40).
Any data or index cleanup needed to support migration retries should be handled within the migration.
### Migration options supported by the [`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/elastic/migration_worker.rb)
-`batched!` - Allow the migration to run in batches. If set, the [`Elastic::MigrationWorker`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/app/workers/elastic/migration_worker.rb)
-recreate_index_text=s_("Changes won't take place until the index is %{link_start}recreated%{link_end}.").html_safe%{link_start: recreate_index_link_start,link_end: '</a>'.html_safe}
%h4.gl-alert-title=s_('There is a halted Elasticsearch migration')
=html_escape_once(s_('Check the elasticsearch.log file to debug why the migration was halted and make any changes before retrying the migration. When you fix the cause of the failure, click "Retry migration", and the migration will be scheduled to be retried in the background.')).html_safe
=link_tos_('Retry migration'),admin_elasticsearch_retry_migration_path(version: migration.version),class: 'btn gl-alert-action btn-warning gl-button',disabled: @elasticsearch_reindexing_task&.in_progress?,data: {confirm: _('Are you sure you want to retry this migration?')},method: :post
msgid "Are you sure you want to reset the registration token?"
msgstr ""
msgid "Are you sure you want to retry this migration?"
msgstr ""
msgid "Are you sure you want to revoke this %{type}? This action cannot be undone."
msgstr ""
...
...
@@ -5398,6 +5401,9 @@ msgstr ""
msgid "Check the %{docs_link_start}documentation%{docs_link_end}."
msgstr ""
msgid "Check the elasticsearch.log file to debug why the migration was halted and make any changes before retrying the migration. When you fix the cause of the failure, click \"Retry migration\", and the migration will be scheduled to be retried in the background."
msgstr ""
msgid "Check your Docker images for known vulnerabilities."