Type: New Feature
Affects Version/s: None
Following the basic work in
NXP-30044, we must implement the cluster-wide notification of the in-progress replacement of a blob key by another one, so that there can be substitution of the old key with the new one for blobs newly saved in the repository.
This substitution should even last beyond the immediate critical section of the blob replacement, because while the blob provider work is not transactional, there may be a repository-level work that is transactional and started before the critical section and finished after, for which substitution must still happen.
- When the new digest is known, do a cluster-wide notification (meaning that that this new key should be used instead of the old one if during the following steps new blobs are created in parallel in the repository).
- Once the old blob has been removed S3, notify the cluster that work on this blob key is finished.
- Nevertheless keep a TTL (~5min?) on the substitution information to keep using for transactions still in flight.