Skip to content

[EE] Added Legacy Storage format

Gabriel Mazetto requested to merge gitlab-ce-28283-legacy-storage-format into master

What does this MR do?

This is part of the effort for introducing new storage format in CE/EE: gitlab-org/gitlab-ce#28283

We are isolating any action that touches the disk and/or manipulate disk path into a separate concern so it can switch to the new one when ready and code will "just work".

There are some details in this issue too: gitlab-org/gitlab-ee#2838

We want that any place in code that needs the routing URL uses full_path and any place that needs the path in disk uses disk_path. In this first iteration they may work similar but as soon as the new Storage Format comes to play the output will be very different.

There will be another MR backporting to CE.

Please merge this one first: gitlab-org/gitlab-ce!13149

Are there points in the code the reviewer needs to double check?

This MR touches many different areas of GitLab and tries to unify access to the routing reference to a project/repository and separate from the reference of the same project's repository/wiki on disk, as they will be different with the new storage format. (They already are if you consider full path which depends on which storage shard you use).

We need to make sure we are covering every possible code that uses these methods, so on the next MR we can concentrate only in the New Storage format implementation.

Also feel free to suggest any refactor (may be done on this MR or on the next one). I tried not to make any huge refactor to make it easier to review this MR and also to be able to rebase until it's not fully merged.

Why was this MR needed?

See plan of action for gitlab-org/gitlab-ce#28283

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

gitlab-org/gitlab-ce#28283

cc @stanhu @dbalexandre @rspeicher @pcarranza @smcgivern @DouweM @to1ne

Edited by Gabriel Mazetto

Merge request reports