mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-04 22:13:19 +00:00
In this change, tablet_virtual_task starts supporting tablet migration, in addition to tablet repair. Both tablet operations reuse the same virtual_task because their task data is retrieved similarly. However, it changes nothing from the task manager API users' perspective. They can list running migrations or check their statuses all the same as if migration had its own virtual_task. Users can see running migration tasks - finished tasks are not presented with the task manager API. However, the result of the migration (whether it succeeded or failed) would be presented to users, if they use wait API. If a migration was reverted, it will appear to users as failed. We assume that the migration was reverted, when its destination does not contain a tablet replica. Fixes: https://github.com/scylladb/scylladb/issues/21365. No backport, new feature Closes scylladb/scylladb#21729 * github.com:scylladb/scylladb: test: boost: check migration_task_info in tablet_test.cc replica: add repair related fields to tablet_map_to_mutation test: add tests to check the failed migration virtual tasks test: add tests to check the list of migration virtual tasks test: add tests to check migration virtual tasks status test: topology_tasks: generalize repair task functions service: extend tablet_virtual_task::abort service: extend tablet_virtual_task::wait service: extend tablet_virtual_task::get_status_helper service: extend tablet_virtual_task::contains service: extend tablet_virtual_task::get_stats service: tasks: make get_table_id a method of virtual_task_hint service: tasks: extend virtual_task_hint replica: service: add migration_task_info column to system.tablets locator: extend tablet_task_info to cover migration tasks locator: rename tablet_task_info methods