Skip to content
代码片段 群组 项目
提交 f8e6e55e 编辑于 作者: Manoj M J's avatar Manoj M J
浏览文件

Add desired sharding keys for vulnerability_management

Add desired sharding keys for feature category `vulnerability_management`.

These tables have been identified as a [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)
or a [desired sharding key](https://docs.gitlab.com/ee/development/database/multiple_databases.html#defining-a-desired_sharding_key-for-automatically-backfilling-a-sharding_key)

A desired sharding key has been automatically selected for these tables.
These keys were chosen as the desired sharding keys because the
table has a :belongs_to relationship to a table that itself has a `NOT NULL` sharding key.

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::threat insights" to review these changes.

Please confirm that:

- each of these tables can be classified as cell local
- the selected desired sharding key is appropriate
- the backfill configuration for the desired sharding key is correct

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, @DylanGriffith or @manojmj.

If you would like to go through similar merged MRs so as to gather an understanding on this topic, you
can use [this](https://gitlab.com/gitlab-org/gitlab/-/merge_requests?scope=all&state=merged&label_name[]=automation%3Agitlab-housekeeper-authored) link.

This change was generated by
[gitlab-housekeeper](https://gitlab.com/gitlab-org/gitlab/-/tree/master/gems/gitlab-housekeeper)

Changelog: other
上级 9948ec39
No related branches found
No related tags found
无相关合并请求
...@@ -4,7 +4,23 @@ classes: ...@@ -4,7 +4,23 @@ classes:
- Vulnerabilities::ExternalIssueLink - Vulnerabilities::ExternalIssueLink
feature_categories: feature_categories:
- vulnerability_management - vulnerability_management
description: Stores information about connections between external issue trackers and vulnerabilities description: Stores information about connections between external issue trackers
and vulnerabilities
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48465 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/48465
milestone: '13.7' milestone: '13.7'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_id
table: vulnerabilities
sharding_key: project_id
belongs_to: vulnerability
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Stores evidence used to identify presence of a vulnerability description: Stores evidence used to identify presence of a vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56790 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/56790
milestone: '13.11' milestone: '13.11'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_occurrence_id
table: vulnerability_occurrences
sharding_key: project_id
belongs_to: finding
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Stores URLs relevant to the vulnerability findings description: Stores URLs relevant to the vulnerability findings
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46555 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/46555
milestone: '13.6' milestone: '13.6'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_occurrence_id
table: vulnerability_occurrences
sharding_key: project_id
belongs_to: finding
...@@ -4,7 +4,23 @@ classes: ...@@ -4,7 +4,23 @@ classes:
- Vulnerabilities::FindingSignature - Vulnerabilities::FindingSignature
feature_categories: feature_categories:
- vulnerability_management - vulnerability_management
description: Stores signatures of vulnerability locations which are used to improve tracking description: Stores signatures of vulnerability locations which are used to improve
tracking
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57840 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57840
milestone: '13.11' milestone: '13.11'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: finding_id
table: vulnerability_occurrences
sharding_key: project_id
belongs_to: finding
...@@ -4,7 +4,23 @@ classes: ...@@ -4,7 +4,23 @@ classes:
- Vulnerabilities::Flag - Vulnerabilities::Flag
feature_categories: feature_categories:
- vulnerability_management - vulnerability_management
description: Stores additional information for vulnerabilities, for example if a vulnerability is identified as a false positive description: Stores additional information for vulnerabilities, for example if a vulnerability
is identified as a false positive
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/65573 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/65573
milestone: '14.1' milestone: '14.1'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_occurrence_id
table: vulnerability_occurrences
sharding_key: project_id
belongs_to: finding
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Join table between Vulnerabilities and Issues description: Join table between Vulnerabilities and Issues
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19852 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/19852
milestone: '12.5' milestone: '12.5'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_id
table: vulnerabilities
sharding_key: project_id
belongs_to: vulnerability
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Join table between Vulnerabilities and Merge Requests description: Join table between Vulnerabilities and Merge Requests
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92096 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/92096
milestone: '15.2' milestone: '15.2'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_id
table: vulnerabilities
sharding_key: project_id
belongs_to: vulnerability
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Join table between Findings and Identifiers description: Join table between Findings and Identifiers
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6896 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/6896
milestone: '11.4' milestone: '11.4'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: occurrence_id
table: vulnerability_occurrences
sharding_key: project_id
belongs_to: finding
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Join table between Findings and Pipelines description: Join table between Findings and Pipelines
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7578 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7578
milestone: '11.5' milestone: '11.5'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: occurrence_id
table: vulnerability_occurrences
sharding_key: project_id
belongs_to: finding
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Stores state transitions of a Vulnerability description: Stores state transitions of a Vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87957 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/87957
milestone: '15.1' milestone: '15.1'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_id
table: vulnerabilities
sharding_key: project_id
belongs_to: vulnerability
...@@ -7,4 +7,19 @@ feature_categories: ...@@ -7,4 +7,19 @@ feature_categories:
description: Stores notes for a given vulnerability description: Stores notes for a given vulnerability
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27515 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/27515
milestone: '13.0' milestone: '13.0'
gitlab_schema: gitlab_main gitlab_schema: gitlab_main_cell
allow_cross_joins:
- gitlab_main_clusterwide
allow_cross_transactions:
- gitlab_main_clusterwide
allow_cross_foreign_keys:
- gitlab_main_clusterwide
desired_sharding_key:
project_id:
references: projects
backfill_via:
parent:
foreign_key: vulnerability_id
table: vulnerabilities
sharding_key: project_id
belongs_to: vulnerability
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册