Skip to content

[Feature flag] Enable use of sidechannel for internal fetches

What

Enable the :gitaly_fetch_internal_with_sidechannel feature flag, which converts internal fetches to use SSHUploadPackWithSidechannel instead of SSHUploadPack

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?

The new RPC was introduced via 3d2b6d26 (proto: add SSHUploadPackWithSidechannel, 2022-01-12), released as part of v14.7.0. The feature flag to also convert our internal fetches was introduced with v14.9.0.

What are we expecting to happen?

No change in behaviour is expected. Potentially we may see smallish performance improvements.

What might happen if this goes wrong?

Internal fetches start to fail. These are used in the following RPCs:

  • FetchSourcEBranch
  • UserResolveConflicts
  • UserCommitFiles
  • UserRebaseConfirmable
  • UserRevert
  • ReplicateRepository

What can we monitor to detect problems with this?

Feature status for above RPCs.

Roll Out Steps

  • Enable on staging
  • Enable on production
  • 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
    • Remove the feature flag and the pre-feature-flag code (howto)
    • Remove the feature flag via chatops (howto)
    • Close this issue

Please refer to the documentation of feature flags for further information.

Edited by Patrick Steinhardt
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information