Adopt parent upload checksum on first verification only
What does this MR do and why?
A Geo secondary adopted the primary's upload checksum and never read its own file, so a damaged or deleted file stayed marked as verified. Restricting adoption to the primary (this MR's first approach) would make every secondary re-hash all its uploads at once, so this MR follows the cheaper design from the work item instead:
- Adopt the parent checksum only on the first verification on each site. Reverification always reads the file.
- Skip the download only when it's safe: when the parent checksum won't be adopted, or when the legacy
Geo::UploadRegistryalready verified this site's copy (newGeo::UploadRegistry.verification_succeeded_for?).
References
closes: #628305 (closed)
Screenshots or screen recordings
N/A
How to set up and validate locally
spec checks
bundle exec rspec ee/spec/replicators/geo/project_upload_replicator_spec.rb \
ee/spec/replicators/geo/*_upload_replicator_spec.rbMR 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 #628305 (closed)