elastic/elasticsearch

SecurityMigrationExecutor and SystemIndexMigrationExecutor should not be persistent tasks

Open

#146662 opened on Apr 17, 2026

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Java (76,700 stars) (25,882 forks)batch import
:Distributed/DistributedTeam:Distributedgood first issue

Description

Both SecurityMigrationExecutor and SystemIndexMigrationExecutor are run-to-completion one-shot migration tasks rather than continuously-running services. They do not "persist" in any meaningful sense, instead they have some external retry mechanism, so it seems that they would better fit as just regular transport actions instead.

Refactoring those task to not be persistent tasks would also get us one step closer to removing the automaticReassignmentOnShutdown() persistent task executor flag (see https://github.com/elastic/elasticsearch/issues/138565) and making this feature default everywhere.

See: https://github.com/elastic/elasticsearch/pull/145753 for more details

Contributor guide