Skip to content
GitLab
Next
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • GitLab GitLab
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 44,758
    • Issues 44,758
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1,331
    • Merge requests 1,331
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GitLab.orgGitLab.org
  • GitLabGitLab
  • Issues
  • #229936
Closed
Open
Issue created Jul 17, 2020 by Matija Čupić@matteeyahContributor10 of 10 checklist items completed10/10 checklist items

[Feature flag] Enable keeping latest artifact for ref

What

Enable the :keep_latest_artifacts_for_ref and :destroy_only_unlocked_expired_artifacts feature flags.

Owners

  • Team: CI
  • Most appropriate slack channel to reach out to: #g_ci
  • Best individual to reach out to: @matteeyah

Expectations

What are we expecting to happen?

  • All new pipelines should have locked set to artifacts_locked
  • When a pipeline succeeds it should unlock previous pipelines for the same ref
  • When destroying artifacts, only artifacts whose pipelines are unlocked should be destroyed

What might happen if this goes wrong?

  • ExpireBuildArtifactsWorker might start failing due to database timeouts
  • Ci::PipelineSuccessUnlockArtifactsWorker might start failing due to database timeouts
  • Ci::RefDeleteUnlockArtifactsWorker might start failing due to database timeouts

What can we monitor to detect problems with this?

https://dashboards.gitlab.com/d/000000278/postgresql-slow-queries?orgId=1&refresh=1m

Beta groups/projects

  • Small sample project
  • gitlab-org/gitlab project
  • gitlab-org/gitlab-com groups

Roll Out Steps

  • Enable on staging
  • Test on staging
  • Ensure that documentation has been updated
  • Coordinate a time to enable the flag with #production and #g_delivery on slack.
  • 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 (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
Edited Sep 07, 2020 by Matija Čupić
Assignee
Assign to
Time tracking