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:check task instead of gitlab: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 Apr 06, 2020 by Gabriel Mazetto
Assignee Loading
Time tracking Loading