Skip to content

Update group path updates with NPM packages

David Fernandez requested to merge 420160-cleanup into master

🎈 Context

A few weeks ago, we got reports of an issue when a group path is updated and this group has NPM packages. All the details are in NPM packages not following the naming conventio... (#419289 - closed).

We created a fix in Fix group path update validations with NPM pack... (!127164 - merged). The challenge with that fix is that it contains a database INDEX that has an expression. As commented here. In other words, we should have this chain of events:

  1. INDEX created.
  2. ANALYZE executed.
  3. INDEX can be used in new queries.

The problem with (2.) is that we don't have any control over it for gitlab.com or self-managed. After some discussions, a feature flag was an appropriate tool here. We could introduce a delay between (1.) and (3.).

This allowed us to wait enough time on gitlab.com to confirm that (2.) happened. For self-managed, we simply wait different milestones between the introduction of the feature flag (along with the index) and cleaning up the feature flag (that is (3.)).

What that plan in mind, Fix group path update validations with NPM pack... (!127164 - merged) introduced the fix, the index and the feature flag. Everything was deployed and rolled out in %16.3.

The feature flag has been enabled for almost a full week on gitlab.com, with no issues. See #420160 (comment 1515994575).

At the time of this writing, we're in %16.4. Time to create the cleanup MR which is this one 😸

What does this MR do and why?

  • Cleanup the npm_package_registry_fix_group_path_validation feature flag.
  • Cleanup the related specs.

This is to properly release (for self-managed) the group path update fix for NPM packages.

🖼 Screenshots or screen recordings

See !127164 (merged).

🔧 How to set up and validate locally

See !127164 (merged)

🏁 MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by David Fernandez

Merge request reports