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.
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.
- 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_pointwere 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".