Skip to content

Permit all expected gitlab sec cross interactions

The sec-decomposition effort has involved the transitioning of each table intended to be decomposed in an individual MR, awaiting the CI to flag cross interaction issues and then permitting them on a individual basis. The majority of these however, are transitional in nature while each table in the sec DB has it's schema set, and do not amount to an actual functional change in GitLab once both tables are set to the appropriate schema.

In short, a waste of time.

This MR permits all tables intended to be decomposed to cross interact with their not-yet-transitioned counterparts in the main schema, meaning the only interactions that will be flagged are actual interactions that will need to be modified prior to the decomposition.

For more information related to the sec decomposition, please consult the epic.

For context on how this implementation works, please consult the introducing MR.

More detail

GitLab contains a internal schema mechanism (separate from the actual DB schema) that allows us to track where tables are intended to exist in our DB landscape whether or not they already reside there.

This enables us to use tooling to detect behaviour in the code that won't work once tables are decomposed to databases that are not colocated. In this instance, we are designating the tables we intend to decompose to gitlab_sec. The tooling then detects interactions between this gitlab schema and gitlab_main_cell that will not work post decomposition.

However, this tooling needs to be told to permit these interactions for tables we will decompose but have not yet set the schema to gitlab_sec for. Otherwise it raises a lot of failures we have to permit manually in the codebase. That's what this MR is doing by allowing gitlab_sec tables to interact with their counterparts in gitlab_main_cell if we expect them to, as those tables are yet to be transitioned. These lists will be removed once all tables are transitioned.

Edited by Gregory Havenga

Merge request reports

Loading