Skip to content

Add allowlist to db/docs files for cross-joins/fks/txns

What does this MR do and why?

As part of the Cells effort we need to classify all tables as gitlab_main_cell or gitlab_main_clusterwide. In the future these tables will be split into different databases. For now when we classify these tables we will start to get errors in CI for cross-joins, cross-transactions and cross-database foreign keys.

This MR adds an allowlist in the db/docs file per type to avoid seeing these failures once we classify the table as gitlab_main_cell. This is to to support automatically labelling hundreds of tables in bulk with gitlab_main_cell (as part of the Organization Isolation effort) . This will result in lots of pipeline failures and we want to deal with these those cross-join (etc.) fixes later. For now we just want to classify things.

You can see the example format of allowing in the db/docs/achievements.yml change which was chosen as an arbitrary example to prove that this works.

This MR was extracted from a larger MR !140420 (closed) which tried to move some duplicated logic in GitlabSchema class to the Dictionary class. This proved to be far more widespread a refactoring than I wanted because these methods are used all over the place and it required hundreds of changes to fix all the specs (which I didn't manage to finish anyway). Since this change is important and unblocks us setting gitlab_main_cell to the tables in the short term I didn't want to hold off on that refactoring.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

Related to #429172 (closed)

Edited by Dylan Griffith

Merge request reports