[Feature flag] Enable long-lived LFS smudge processes
What
Enable the :gitaly_get_archive_lfs_filter_process
feature flag, which enables support for running our LFS smudge filter as a long-lived process. The result is that instead of executing gitaly-lfs-smudge
once for every LFS pointer in a call to GetArchive()
, we now execute it once only and use the long-lived filter process protocol to communicate with Git. Ultimately, this should speed up calls to GetArchive()
when called with LFS pointer conversion enabled and decrease the overhead.
Related to #4153 (closed).
Owners
- Team: Gitaly
- Most appropriate slack channel to reach out to:
#g_create_gitaly
- Best individual to reach out to:
pks-t
Expectations
What release does this feature occur in first?
What are we expecting to happen?
No user-visible change in behaviour should occur. Ideally, latency for GetArchive()
should improve.
What might happen if this goes wrong?
Calls to GetArchive()
may either start to fail or LFS pointers might not correctly be smudged to their contents.
What can we monitor to detect problems with this?
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) -
Enable on production 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.