Bug #13998

[keepstore] Cached block fetch for federation

Added by Peter Amstutz 4 months ago. Updated 4 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Story points:
-

History

#1 Updated by Peter Amstutz 4 months ago

  • Status changed from New to In Progress

#2 Updated by Peter Amstutz 4 months ago

One approach

Fetching block, with caching:

  1. client wishes to read a file
  2. client has provides block locator with "remote" signature (see #13993)
  3. client sends request to keepstore server in regular rendezvous hashing order
  4. keepstore service looks up (cluster, block) in table mapping (cluster, block, signature)
    1. if found, check if the remote signature is cached
    2. if remote signature isn't cached, send HEAD request to ccccc to validate signature
    3. if the signature is valid, try to fetch the block from local volume
    4. if the signature is not valid, fail (because HEAD request must have failed)
  5. block is not found, keepstore contacts keepproxy on remote cluster and requests block
  6. block is spooled into local volume storage and mapping is added for (cluster, block, signature)
  7. keepproxy on remote cluster returns block content to keepstore
  8. keepstore returns block content to client, also return valid local signature in header

#3 Updated by Peter Amstutz 4 months ago

  • Status changed from In Progress to New

Also available in: Atom PDF