Gitaly 16.10 Planning (March 2024)
This issue and linked pages contain information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. As with all projects, the items mentioned in this video and linked pages are subject to change or delay. The development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Table of Contents
Boards
Issue boards we use for planning
- Full list of release dates
- Gitaly Objectives and Key Results - GitLab Internal Only
Capacity Notes
With the GitLab summit happening during the %16.10 timeframe, there will be a hard production change lock from March 8 - March 18 (issue with details). This means we'll have approximately 10 less days to deploy / merge changes to production. As such, we will be assuming a reduced capacity during planning.
2024-02-13 - Board Status
- There are 22 workflowready for development issues that either carried over, or were assigned
- There are 16 workflowin dev issues that either carried over, or were assigned
Total of 38 issues already assigned to %16.10 as carry over or high priority assignments. Given that a full release we normally close between 45 and 55 issues, and this is a reduced capacity release, for ambitious planning we should only take on < 10 new issues.
Objectives and Themes
Please see our direction page section What's Next & Why for our ongoing focus. The list below are specific pieces from these themes.
Internal Link)
Objective: Improve scalability, reliability, and availability (Provide a highly scalable and performant repository storage backend (Internal link)
The Gitaly team is honored to be able to work with the upstream Git project to implement RefTable support. The goals here are to provide a more performant backend, and to eliminate race conditions in reference updates.
For this release, our plan is to work on the following issues toward this goal:
- Support reftables in Repository configuration (gitlab-org/gitaly#5768 - closed)
- Support reftables in `Housekeeping` (gitlab-org/gitaly#5767 - closed)
- Support reftables in `GetSnapshot` (gitlab-org/gitaly#5840 - closed)
- Support reftables in misc filesystem accesses (gitlab-org/gitaly#5841 - closed)
Objective: Ensure customer success
The Gitaly team works closely with our customer facing teams to help resolve customer questions or investigate customer concerns around their repository storage. As such, we schedule a number of customer investigations and issues each milestone.
Customer Support Issues (internal links)
Objective: Improve reliability and scalability of GitLab.com
Gitaly is a core component in the functionality of GitLab.com, so we often find ourselves adding features in support of GitLab strategic initiatives. The following items fall under that category.
Note: Many of these are internal only issues and therefore the links are accessible to GitLab team members only.
- Lead the Disaster Recovery Working Group - This is an internal initiative to ensure that GitLab is positioned in the best possible manner to satisfy the disaster recovery needs of our customers for both our GitLab.com offering, as well as self-managed customers.
Planning Inputs
Note: The Gitaly team currently does not have a UX component for planning inputs.
Engineering Priorities
- Historically, it was allowed to have a Gitaly cluster where multiple storage nodes pointed to the same backend storage. This really isn't a correct configuration , but is currently supported. Additionally, as we move toward a distributed HA structure, this will cause additional problems. Since this is a breaking change for customers who are currently configured this way, we are planning on enforcing it only in %17.0, but want to get the backend work done now - Stop supporting duplicate storages in Gitaly's ... (gitlab-org/gitaly#5598 - closed)
Quality Priorities
Bug Prioritization Sisense Board - Internal Only. Filter on team_group = gitaly
to see Gitaly specific.
References
Handbook pages which are useful
/cc @eread