Skip to content
  • Tiger Watson's avatar
    Add sharding keys for source_code_management · e0a1bed4
    Tiger Watson authored
    Add sharding keys for feature category `source_code_management`.
    
    These tables have been identified as
    [cell local tables](https://docs.gitlab.com/ee/development/database/multiple_databases.html#guidelines-on-choosing-between-gitlab_main_cell-and-gitlab_main_clusterwide-schema).
    
    All cell local tables require a
    [sharding key](https://docs.gitlab.com/ee/development/database/multiple_databases.html#defining-a-sharding-key-for-all-cell-local-tables).
    
    A sharding key has been automatically selected for these tables. The sharding key was chosen because it is a
    `NOT NULL` column referencing either `projects` or `namespaces`.
    
    Additionally, `gitlab_schema` has been set to `gitlab_main_cell` for any tables didn't use this schema already.
    For these tables we have also added `allow_cross_joins`, `allow_cross_transactions` and
    `allow_cross_foreign_keys`. These will silence any existing violations, allowing the pipeline to pass without
    requiring further changes. In the future, we'll remove these `allow_...` statements and fix any violations as
    they arise. You can read more about this in the [documentation for multiple databases](https://docs.gitlab.com/ee/development/database/multiple_databases.html)
    
    We have assigned a random backend engineer from ~"group::source code" to review these changes.
    Please confirm that each table should indeed be cell local, and that the selected column is an appropriate
    sharding key. When you are finished, please request a review from the database maintainer suggested by Danger.
    
    If you have any questions or concerns, reach out to @tigerwnz or @DylanGriffith.
    
    This change was generated by
    [gitlab-housekeeper](https://gitlab.com/gitlab-org/gitlab/-/tree/master/gems/gitlab-housekeeper)
    
    Changelog: other
    e0a1bed4