Deprecate Legacy storage for GitLab generally (not just Geo)
The vision
groupgeo started requiring hashed storage in %12.0.
Hashed storage is also a requirement for git object deduplication in groupgitaly (https://docs.gitlab.com/ee/development/git_object_deduplication.html)
- We've done all the work to deprecate legacy storage just for Geo: #8289 (closed)
- We've included the deprecation notice in all release posts until 12.0: gitlab-com/www-gitlab-com#3508 (closed)
- In 12.0 we started enforcing hashed storage programmatically: #8690 (closed)
This issue is intended to track the effort to require hashed storage for any GitLab installation.
- This is valuable because e.g. renames and transfers are very fragile, and are much more robust with hashed storage
- This is safe after we dogfood hashed storage on GitLab.com
- We've been fixing the remaining issues we had with the migration from legacy to hashed storage
- Eventually we could delete legacy pathways and the hashed storage setting
To Do
-
Enable the setting by default in development gitlab-foss#46241 (closed) -
Deprecate Legacy storage only for ~Geo #8289 (closed) -
[In progress in separate issue] Migrate all projects on GitLab.com to Hashed storage https://gitlab.com/gitlab-com/gl-infra/infrastructure/issues/4772 -
Enable "Use hashed storage paths for newly created and renamed projects" by default for new installations -
Move the Hashed storage checks to gitlab:app:checktask instead ofgitlab:geo:check- will be handled by #213556 (closed) -
Add deprecation notice in release post -
Open an issue to enable it on existing installations in next major release
Edited by Gabriel Mazetto