Skip to content

chore(cache): introduce project lease

Suleimi Ahmed requested to merge 960-introduce-project-lease into master

Related to #960 (closed)

Context

This MR introduces project leases (without using them). Project lease are a redis-cached abstraction used to signify that a project's repositories can not be written to due to an existing hold on the project space (e.g via a rename operation).

Project leases are intended to be used to block writes/deletes to existing repositories that orignate from the path the project lease was granted for. Project lease will aid in preventing data corruption when a rename operation is ongoing.

This is MR 2/3 of #960 (closed) and it is expected that MR 3/3 will utilize the functionality of granting said project lease when a the rename API is invoked successfully by using the changes introduced in !1299 (merged) (i.e MR 1/3) and this MR.

Edited by Suleimi Ahmed

Merge request reports