Geo fails to sync file uploads with improper formatted path
Summary
We can encounter sync failures when Upload models of file_type file
don't have the path as per this regex.
If this doesn't have a prefix of 32 hex characters followed by a /
, the "secret" (which, is not stored for this model) does not get properly parsed so any instance of FileUploader
for the model will return a dynamic_segment with a randomly generated path, resulting in 404s (for the Geo API transfer requests, at the moment).
A good question is, why/how did the file uploads end up without a 32-chars long secret prefix in the path? Is it just a case of old data that wasn't migrated properly?
This sounds related to the previous changes from the model full_path to disk path, to hashed paths etc that we had, this commit as an example (not the culprit, but as an idea of the code changes).
Additionally, going back to the question in #209752 (closed), should we attempt to fix the data somehow (possibly adding the path prefix to the uploader_context for these cases, or moving the files on the disk), or create a patch around this for Geo?
Related issues and tickets
- Related to #209752 (closed).
- Experienced by Premium customer in ZD (internal-only)