Review the authentication tables to optionally add sharding labels
A subsequent step to the Discover Cells 1.0 impact for authentication (&12579 - closed) is to review the remaining groupauthentication tables that were not automatically classified by automation, and add sharding labels manually if needed. The tables can be found on https://cells-progress-tracker-gitlab-org-tenant-scale-g-f4ad96bf01d25f.gitlab.io/sharding_keys under the feature category system_access
. See documentation on how to consider the classification here https://docs.gitlab.com/ee/development/database/multiple_databases.html#defining-a-sharding-key-for-all-cell-local-tables. In summary, a table may be of the following types:
-
The table is not cell-local
- Set
gitlab_schema
togitlab_main_clusterwide
.
- Set
-
The table is cell-local and requires a sharding key
- Set
gitlab_schema
togitlab_main_cell
- Add a
sharding_key
ordesired_sharding_key
configuration. If the configuration is known but the chosen key doesn't yet meet not-null and foreign key requirements, you can add an exception toallowed_to_be_missing_not_null
orallowed_to_be_missing_foreign_key
to get the pipeline passing. Please link to a follow-up issue in a code comment next to the exception. - You may also need to set
allow_cross_joins
,allow_cross_transactions
andallow_cross_foreign_keys
if changing the schema causes pipeline failures. Seedb/docs/epics.yml
for an example.
- Set
-
The table is cell-local and does not require a sharding key
- Set
gitlab_schema
togitlab_main_cell
and - Set
exempt_from_sharding
totrue
.
- Set
If we cannot easily determine a classification for a particular table, please create a separate issue describing the table name, and link it to this issue.