Project

General

Profile

Feature #14199

Updated by Peter Amstutz over 5 years ago

API Enable clients to reference blocks from remote clusters, and have those blocks automatically copied to the local cluster. 

 Design sketch: 

 * Feature to instruct keepstore to fetch pull a remote block, save it, and return signed locator (variation on "proxy a  
 block read request" request") 
 * Controller instructs keepstore to pull each block with +R signature and rewrites the added feature of saving the block). 

 (Is manifest with local signatures 
 * Because this triggered by could take a while, controller should return "202 Accepted" so the query flag? doesn't time out 
 * Client needs be indicate it understands "202 Accepted" (probably a query parameter) 
 * If it is a POST request, how does the client know when the collection is ready?    Basically an explicit "cache block" operation) 

 Proposed API: 

 Do we create a HEAD request (equivalent to new empty collection with a note "being populated", return the GET request) on remote signed locator uuid, and look for a response header then update it when the complete manifest is ready? 
 ** If not, then it needs to return some other token that has a new locator with local block signature.    This header should can be called "X-Keep-Locator" (?).   

 All keepstore GET and HEAD responses for block requests should include this new header.   
 used to resolve the collection being downloaded by controller into the real collection when ready 
 ** What happens if controller falls over while it is processing the collection? 

Back