ObjectStorage::Concern#migrate! incurs data loss
Summary
The ObjectStorage::Concern#migrate!
method might cuase data loss in some edge cases.
It seems to be linked to the move_to_store
and move_to_cache
not being correctly handled by the #migrate!
method.
See https://gitlab.com/gitlab-com/infrastructure/issues/3674 for context.
Possible fixes
Make sure the #migrate!
method is atomic.
(If you can, link to the line of code that might be responsible for the problem)