Story #15641

[keep-balance] [SDKs] rendezvous by volume UUID instead of server UUID

Added by Tom Clegg 10 months ago. Updated 10 months ago.

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

0%

Estimated time:
Story points:
-

Description

When distributing data across multiple volumes in a cloud environment, rendezvous hashing should be based on volume ID:
  • all keepstore servers access all volumes
  • client/proxy uses rendezvous hash to sort/choose from the volume(s) in cluster config, and connects to the keepstore server(s) that have access to the chosen volumes
  • keepstore uses rendezvous hash to sort/choose from the volumes it has access to
  • keep-balance uses rendezvous hash to choose preferred volume(s) where a blob should be stored, and when pulling/trashing, chooses a random/arbitrary keepstore from the ones that have write access to the relevant volume

(Current code uses rendezvous to select a server, and sorts/chooses volumes in random/arbitrary order. This causes unnecessary bottlenecks between clients and buckets (one writable bucket per server / one writing server per bucket) and excessive keepstore-to-backend probing (multiple writable buckets per server).)


Related issues

Related to Arvados - Feature #13647: [keepstore] Load cluster configuration fileResolved07/11/2019

Related to Arvados - Feature #14714: [keep] keep-balance uses cluster config fileResolved09/26/2019

History

#1 Updated by Tom Clegg 10 months ago

  • Description updated (diff)

#2 Updated by Tom Clegg 10 months ago

  • Related to Feature #13647: [keepstore] Load cluster configuration file added

#3 Updated by Tom Clegg 10 months ago

  • Subject changed from [keep-balance] rendezvous by volume UUID instead of server UUID to [keep-balance] [SDKs] rendezvous by volume UUID instead of server UUID

#4 Updated by Tom Clegg 10 months ago

  • Related to Feature #14714: [keep] keep-balance uses cluster config file added

#5 Updated by Tom Clegg 10 months ago

  • Related to Story #13648: [Epic] Use one cluster configuration file for all components added

#6 Updated by Peter Amstutz 7 months ago

  • Related to deleted (Story #13648: [Epic] Use one cluster configuration file for all components)

Also available in: Atom PDF