Skip to content

[Feature flag] Usage of postgres hll batch distinct counting in usage ping

What

Remove the :postgres_hll_batch_counting feature flag and remove catch all rescue that only logs errors to sentry.

Owners

  • Team: Product analytics
  • Most appropriate slack channel to reach out to: #g_product_analytics
  • Best individual to reach out to: @gitlab-org/growth/product_analytics/engineers

Expectations

What are we expecting to happen?

New algorithm will be used to obtain estimated distinct count of selected attributes. This algorithm allows for more predictable estimation of query performance in production environment than previously used batch count.

What might happen if this goes wrong?

some distinct counts in usage ping may stop working, or may contain malformed data

What can we monitor to detect problems with this?

Monitor returned usage ping data, for any sudden change

Beta groups/projects

If applicable, any groups/projects that are happy to have this feature turned on early. Some organizations may wish to test big changes they are interested in with a small subset of users ahead of time for example.

  • gitlab-org/gitlab project
  • gitlab-org/gitlab-com groups
  • ...

Roll Out Steps

  • Enable on staging (/chatops run feature set feature_name true --staging)
  • Test on staging
  • Ensure that documentation has been updated
  • Enable on GitLab.com for individual groups/projects listed above and verify behaviour (/chatops run feature set --project=gitlab-org/gitlab feature_name true)
  • Coordinate a time to enable the flag with the SRE oncall and release managers
    • In #production by pinging @sre-oncall
    • In #g_delivery by pinging @release-managers
  • Announce on the issue an estimated time this will be enabled on GitLab.com
  • Enable on GitLab.com by running chatops command in #production (/chatops run feature set feature_name true)
  • Cross post chatops Slack command to #support_gitlab-com (more guidance when this is necessary in the dev docs) and in your team channel
  • Announce on the issue that the flag has been enabled
  • Remove feature flag and add changelog entry
  • After the flag removal is deployed, clean up the feature flag by running chatops command in #production channel

Rollback Steps

  • This feature can be disabled by running the following Chatops command:
/chatops run feature set --project=gitlab-org/gitlab feature_name false
Edited by Mikołaj Wawrzyniak