Geo fails to sync uploads with missing mount_point
In some situations Geo failed to synchronize some uploads. Originally we though it was related to the path of the uploads mount.
After quite some investigation, we discovered the failure happened with Uploads which have mount_point = nil
.
Questions
mount_point
?
1. Why do uploads end up without a This might be a tough one to answer. But we could do a code review and look where database object created to see if there might be a bug there.
2. What should Geo do about it?
In !24800 (merged) we provided a work-around for Avatars. For these we just faked the mount_point
to be avatar
if the value of it was nil
in the database. We can consider doing the same for other types, but it feels a bit weird to do so. And we are also not yet fully aware of the possible side effects, answering question 1 might help with this.
3. Should we run a background migration to fix db records?
When are pretty sure we located the root case we probably should build a background migration to fixes faulty records.
Customer cases
- https://gitlab.zendesk.com/agent/tickets/137542 & https://gitlab.zendesk.com/agent/tickets/143471: They first reported this issue. On a call we confirmed the failure only happens on avatars. In a the latter issue they let us know they don't have Geo active at the moment.
- https://gitlab.zendesk.com/agent/tickets/143335: 2.7% of Uploads unreplicated, probably also only avatars
-
https://gitlab.zendesk.com/agent/tickets/146601: Broken avatars, with missing
mount_point
were fixed manually. But the issue seem to be reoccurring. -
https://gitlab.zendesk.com/agent/tickets/148270: Broken header logo. Fixed by setting
mount_point = "header_logo"
.