-
Mike Kozono authored
Geo replicates data from primary to secondaries. It verifies data integrity by checksumming the data on the primary, then checksumming the data on secondaries and comparing the result. For performance reasons, on the primary, we need to store the checksums and other metadata in a separate table from the source table. For example, the primary checksum data for `merge_request_diffs` is stored in `merge_request_diff_details`. The verification logic already mostly exists. But it depends on the checksum table having a record when the source table has a record. This commit adds a worker which inserts and deletes checksum table records without requiring triggers or the like on the source table. It is acceptable for this process to be slow. This worker is behind a feature flag verification_state_backfill_worker EE: true
aee40a34