14.1 Planning
NOTE: Assignments are tentative and subject to change.
Overview
The main goal for Q2 (ends 31 July) is to have GitLab working with more than 1 database. We have one full release + a bit of overlap in the next to accomplish this goal.
To accomplish this goal, we will focus on the ci_instance_variables
table first, migrate it to another database and have GitLab connect to multiple databases. Goal is to have this working in a development setup, stretch goal is to deploy it on staging
.
Concurrently, we will start working on the necessary migration tooling to move all ci_*
tables. The first table ci_instance_variables
is empty, but the rest of the tables contain ~5TB of data. This will be a multi-milestone process.
This issue outlines the next steps required to accomplish that goal and our focus for %14.1.
Decomposition: Support for many databases
This is the main epic that is required to accomplish our Q2 goal. The MVC definition is to focus on ci_instance_variable
migrate it to another database and have GitLab handle this.
Who: @tkuah @yorickpeterse
The following issues are deliverable for %14.1:
Decomposition: CI Tables
We choose a simple table, ci_instance_variables
to focus on first.
Who: @ayufan
The following issues are deliverable for %14.1:
Decomposition: Create Migration Tooling
Who: @DylanGriffith @ahegyi @iroussos
Having the tooling in place is a prerequisite to be able to realize headroom in the DB by moving the majority of CI tables. We need to start now in order to be deliver in Q3.
We are disussing possible strategies in the following issue:
This is likely going to be broken down further.
Preparation and planning
Who: @fzimmer @ayufan
We need to connect with teams to work out next steps for &5840 (closed) &6160 (closed) &6159 &6158 (closed)