Storage::LegacyNamespace should rename Pages via Sidekiq
In Storage::LegacyNamespace#move_dir we rename pages directories. In light of &3980 (closed) we want that to happen asynchronously.
This is called via Users::UpdateService (#235762 (closed)) and Groups::UpdateService (#235768 (closed)) when a project's namespace changes its path.
Owners
- Team: ~"team::Scalability"
- Most appropriate slack channel to reach out to:
#g_scalability
- Best individual to reach out to: @smcgivern
Expectations
What are we expecting to happen?
We expect Pages directories to be moved on disk in Sidekiq, not Puma, when a user or group changes its path.
What might happen if this goes wrong?
We could have a case where a project has been renamed, but its Pages are in the wrong place. Or where a project failed to rename, but its Pages did get moved. However, those could already happen, as we don't check the return value of Gitlab::PagesTransfer#{move,rename}_namespace
in Storage::LegacyNamespace#move_dir
.
What can we monitor to detect problems with this?
The new Sidekiq worker does check the return value and will raise in that case, so we want to check the Sidekiq logs. We also want to check Sentry to see the Gitlab::Pages::Settings::DiskAccessDenied
errors go away for this caller.
Roll Out Steps
-
Enable on staging -
Test on staging -
Enable on GitLab.com for individual groups/projects listed above and verify behaviour -
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
-
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