[Feature flag] Enable writing multi-pack-indices
What
Enable the :gitaly_write_multi_pack_index
feature flag, which enables writing of multi-pack-indices in Gitaly's housekeeping. Multi-pack-indices have been added in Git v2.20.0 and enable more efficient lookup of objects in the case where there are many packfiles present in a repository.
Owners
- Team: Gitaly
- Most appropriate slack channel to reach out to:
#g_gitaly
- Best individual to reach out to: pks-t
Expectations
What release does this feature occur in first?
What are we expecting to happen?
Repository maintenance should start to write multi-pack indices. We might observe a slowdown for incremental repacks. We should see a speedup for large repositories with many packfiles for specific queries.
What might happen if this goes wrong?
In the worst case the multi-pack-index might corrupt repositories. The expectation is though that we can fix this by removing the on-disk data structure, as they merely act as a cache.
What can we monitor to detect problems with this?
- Gitaly housekeeping statistics
- Overall Gitaly health
Roll Out Steps
-
Enable on staging -
Is the required code deployed on staging? (howto) -
Enable on staging (howto) -
Add featureflagstaging to this issue (howto) -
Test on staging (howto) -
Verify the feature flag was used by checking Prometheus metric gitaly_feature_flag_checks_total
-
-
Enable on production -
Is the required code deployed on production? (howto) -
Progressively enable in production (howto) -
Add featureflagproduction to this issue -
Verify the feature flag was used by checking Prometheus metric gitaly_feature_flag_checks_total
-
-
Default-enable the feature flag (optional, only required if backwards-compatibility concerns exist) -
Wait for release containg default-disabled feature flag. -
Change the feature flag to default-enabled (howto) -
Wait for release containing default-enabled feature flag.
-
-
Remove feature flag
Please refer to the documentation of feature flags for further information.