Skip to content

[Feature flag] Enable `gitaly_tx_config` and `gitaly_tx_remote` feature flags

What

Enable the :gitaly_tx_config and :gitaly_tx_remote feature flags.

Owners

  • Team: Gitaly
  • Most appropriate slack channel to reach out to: #g_create_gitaly
  • Best individual to reach out to: pks-t

Expectations

With these feature flags enabled, we enable transactional voting. As a result, secondaries shouldn't be out of date anymore when calling these RPCs, which most importantly happens when fetching remotes or creating new repos.

What release does this feature occur in first?

%13.12

What might happen if this goes wrong?

Failing RPC calls: SetConfig, DeleteConfig, AddRemote, DeleteRemote.

What can we monitor to detect problems with this?

Roll Out Steps

  • Read the documentation of feature flags
  • Add featureflagstaging to this issue (howto)
  • Is the required code deployed? (howto)
  • Do we need to create a change management issue? (howto)
  • Enable on staging (howto)
  • Test on staging (howto)
  • Verify the feature flag was used by checking Prometheus metric gitaly_feature_flag_checks_total
  • Announce on this issue an estimated time this will be enabled on GitLab.com
  • Add featureflagproduction to this issue
  • Enable on GitLab.com by running chatops command in #production (howto)
  • Cross post chatops slack command to #support_gitlab-com and in your team channel
  • Verify the feature flag is being used by checking Prometheus metric gitaly_feature_flag_checks_total
  • Announce on the issue that the flag has been enabled
  • Did you set the feature to both 100% and true (howto)
  • Submit a MR to have the feature OnByDefault: true and add changelog entry (howto)
  • Have that MR merged
  • Possibly wait for at least one deployment cycle (howto)
  • Submit an MR to remove the pre-feature code from the codebase and add changelog entry (howto)
  • Have that MR merged
  • Remove the feature flag via chatops (howto)
  • Close this issue
Edited by Patrick Steinhardt
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information