Add service to checksum PackageFiles on primary

Problem to solve

https://gitlab.com/gitlab-org/gitlab-ee/issues/13839 is too big so this breaks out the first chunk of work for it.

Intended users

  • Systems administrators

Proposal

  • Add to packages table (or a new associated table), similar to project_repository_states:
    • verification_failure
    • verification_retry_at
    • verification_retry_count
    • last_verification_ran_at
  • Modify PackageFile.calculate_checksum! so it updates the new fields
  • Add Geo::PackageFileVerificationPrimaryService (or repurpose UploadChecksumWorker) which takes a PackageFile
    • Calls PackageFile.calculate_checksum! and saves
    • In a later iteration, this will create a Geo::ResetPackageFileChecksumEventStore

Permissions and Security

N/A

Documentation

N/A

Testing

TBD

What does success look like, and how can we measure that?

There is a Geo::PackageFileVerificationPrimaryService (or repurpose UploadChecksumWorker) which saves a checksum on a primary, given a Package, and saves success/failure data.

What is the type of buyer?

  • Premium
  • Ultimate

Links / references

Edited Jan 15, 2020 by Michael Kozono
Assignee Loading
Time tracking Loading