Issue #5161

Updated by almost 5 years ago

To reproduce: 
 1. Sync busybox 
 2. Create a new repo foo 
 3. add all manifest_lists from busybox to foo 
 4. remove all manifest lists manifests from foo 
 5. check content unit counts, some manifests (and their referenced blobs) are still in foo 

 The problem occurs when removing 2 or more manifest_lists at the same time that reference the same manifests. 

 Manifest List A: 
   Manifest 1, 2, 3 
 Manifest LIst B: 
   Manifest 2, 3, 4 

 After adding AB then removing AB, Manifests 2, 3 will remain in the repo. 

 If removing the manifest_lists 1 at a time, no manifests remain in the repo (expected). 

 The faulty query is here: 

 Unit filter should actually be: 
 unit_filters={'digest': {'$nin': [list, of, all, manifest_lists, being, removed]}} 

 This problem was discovered as a discrepency between a fix for and the code on 2-master, and will be fixed in the same commit.