Skip to content

Automatic repository reconciliation

Sami Hiltunen requested to merge smh-automatic-repository-repair into master

Replication jobs are currently only attempted three times at maximum until they are dropped. After a replication job is dropped, its changes are not going to be replicated until another replication job is triggered form another mutator operation or an administrator runs reconcile manually. Repositories can stay outdated for an indefinite time.

This commit addresses the problem by adding a background goroutine that automatically schedules replication jobs from storages which have a fully up to date copy of the repository to storages with outdated copies of the repository. Replication jobs are only scheduled from and to storages which are currently healthy to avoid scheduling replication jobs that are not going to be successfully completed. If there is a replication job already targeting the repository, a redundant reconciliation job won't be scheduled.

Closes #2717 (closed)

Edited by Sami Hiltunen

Merge request reports