Idea #3413
Updated by Tom Clegg over 10 years ago
The keep server should accept a JSON file at PUT /trash. This file will contain the list's expiration date and an ordered list of block locators for blocks which can be overwritten. Keep should process the file asynchronously and delete each block in it. This is written out in more detail at the bottom of: https://arvados.org/projects/orvos-private/wiki/Keep_Design_Doc#Keep-Server Notes: * For now, we don't need begin processing the trash list right away. We can defer to a worker goroutine or anything -- just accept future sprint how Keep should decide when to start recycling blocks. * If a valid "PUT /trash" request (and log its content block's actual age is less than (some delta) it should be skipped. Need to define how this threshold is chosen. * If a new list is received while the old one is being processed, abandon the existing one, replace it with the new one, and store its content in memory), and reject invalid "PUT /trash" requests. start over.