Geo: Avoid raising a Sidekiq job failure when a blob sync fails
What does this MR do and why?
This MR changes the error handling behavior in Geo::BlobDownloadService to prevent sync failures from causing Sidekiq job failures.
References
Closes #524762
How to set up and validate locally
- Set up a Geo secondary instance using GDK and work from there (not the primary).
- Configure a package file object for replication. Find a package_file or create one if needed, and keep its id. e.g:
Packages::PackageFile.last
Simulate a sync failure.
- Add a
raiseright after thebeginline 33 of the execute method in the blob_download_service.rb. - Execute a
Geo::SyncWorkerjob in your rails console:
Geo::SyncWorker.perform_async('package_file ', id_of_the_package_file)
- Verify the registry is marked as
failedbut the Sidekiq job completes successfully. - Check that the error is still logged and tracked in Sentry.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #524762
Edited by Victor Prêté