[Feature flag] Enable Ruby reference-transaction hook
What
This issue tracks progress in enabling the Ruby reference-transaction hook, which would cause us to use the reference-transaction hook from Ruby RPCs which make use of with_hooks
.
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?
Ruby RPCs which go via Praefect will start calling out to the reference-transaction hook. Actual transactions would only start to be used for the OperationService for the following RPCs:
- UserCreateBranch
- UserCreateTag
- UserDeleteBranch
- UserDeleteTag
- UserUpdateBranch
What might happen if this goes wrong?
Increased error ratios for above RPCs. Failing transactions.
What can we monitor to detect problems with this?
- feature-specific dashboards (https://dashboards.gitlab.net/d/000000199/gitaly-feature-status?orgId=1&from=1603363523990&to=1603371615419&var-environment=gprd&var-method=UserMergeToRef&var-prometheus=prometheus-01-inf-gprd)
- transactions in the Praefect dashboard https://dashboards.gitlab.net/d/8EAXC-AWz/praefect?orgId=1&refresh=30s
Roll Out Steps
-
Read the documentation of feature flags -
Enable on staging -
Test on staging -
Ensure that documentation has been updated -
Enable on GitLab.com for individual groups/projects listed above and verify behaviour -
Announce on the issue an estimated time this will be enabled on GitLab.com -
Enable on GitLab.com by running chatops command in #production
-
Cross post chatops slack command to #support_gitlab-com
and in your team channel -
Announce on the issue that the flag has been enabled -
Remove feature flag and add changelog entry
Edited by Patrick Steinhardt