Skip to content

Add new VSA partitioned tables

Adam Hegyi requested to merge 335386-create-new-vsa-tables into master

What does this MR do?

This MR adds partitioned tables to store value stream analytics stage-specific data which will be collected periodically by scanning the issues and merge_requests table (to be implemented in #335389 (closed)).

More context: #335386 (closed)

The tables will grow at a similar rate as the issues and merge_requests tables (premium, ultimate groups only), so the tables are range partitioned.

We're storing references to various other tables, however (issue_id, milestone_id), at the moment we're not planning to add foreign keys. The data in these tables are OK to be stale, integrity will be ensured asynchronously via a scheduled job. The main reason: this feature might move to a separate database at some point (decomposition).

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #335386 (closed)

Edited by Adam Hegyi

Merge request reports