Skip to content

Geo: Make hashed storage a hard requirement in 12.0

Problem to solve

GitLab provides two classes of storage:

  1. Legacy storage prior to 10.0
  2. Hashed storage starting with 10.0

Using Geo in conjunction with legacy storage can lead to race conditions, which are eliminated by using hashed storage. Hashed storage uses the projectID to create a hash resulting in an immutable folder structure. Using hashed storage has been a soft requirement since 11.6. With 12.0 we propose making hashed storage a hard requirement in order to prevent new installations of Geo from using legacy storage.

Intended users

Further details

Proposal

  • Prevent enabling Geo without hashed storage starting with 12.0
  • Consider upgraders who missed/ignored the deprecation notice. What is the experience for them?
    • Everything should continue to work for Geo + legacy storage installation
    • Warnings should continue to make sense for Geo + legacy storage installation
  • Add deprecation notice on the release post: "With 12.0, hashed storage is now required to enable Geo."
Edited by Fabian Zimmer