Project

General

Profile

Actions

Feature #30824

closed

smartly sync capsules with history tracking

Added by Justin Sherrill over 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Performance
Target version:
Difficulty:
Triaged:
Yes
Fixed in Releases:
Found in Releases:

Description

Solution is such that:

We can store some data:
smart_proxy_id
repository_id
started
finished

As part of any capsule sync for a given repo: SYNC_HISTORY At the start of the sync for a given repo and smart proxy, any entry in the data would be deleted A new entry would be created with the current start time At the end of the sync, the finished time would be filled in, if the data still exists (hasn't been deleted by another task) This functions as a 'two-stage' ACK of having synced successfully

As part of CV promotion if changes are detected for a given repo during CV promotion, delete any entries for those repos in the SYNC_HISTORY table

as part of repository update if a repository is updated, unprotected changed or download_policy changed (for inherited proxies), delete all history items for any instance of that repository

as part of content upload into a repo, any history events for that repo are deleted.

if upstream_name for docker repos is changed, delete all history items for that particular repostiory

at repo sync time in Library if there are changes (or package upload/remove), we need to delete all hsitory items for that particular repository

At capsule sync time, if a history event exists in the table for a given repo and smart proxy that 'finished', do not schedule the sync.
A full capsule sync
will delete all history events for that capsule

Actions

Also available in: Atom PDF