Removed hashed storage migration codes
GitLab's early versions organized the Git storage by replicating the same mapping structure from the projects URLs. After GitLab v10, we made an initiative to migrate the legacy git storage to new Hashed Storage structure. We added a bunch of rake tasks, and workers to support this migration. In Gitlab 13.4.0, we introduced a background migration to migrate legacy storage to object storage. After this version, newly created projects also use new hashed storage. It means since GitLab 14.0, there won't be any projects with legacy storage and it's sure that there won't be any jobs of those workers in the backlog. As soon as the self-managed instances follow upgrade path or major version release, the migration utilities are no longer meaningful to them. It's time to remove those scripts to clean up the code base.
I could say it would be better to plan the removal at the next %15.0 major version release. The list of removable codes includes, but not limited to:
- storage.rake
HashedStorage::RollbackerWorker
HashedStorage::ProjectRollbackWorker
HashedStorage::MigratorWorker
HashedStorage::ProjectMigrateWorker
Gitlab::HashedStorage::Migrator
Project#migrate_to_hashed_storage!
Project#rollback_to_legacy_storage!