diff options
author | Alex Auvolat <alex@adnab.me> | 2023-11-08 19:28:36 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2023-11-08 19:28:36 +0100 |
commit | 8dccee3ccfe7793c42203f28c1e91c6f989b6899 (patch) | |
tree | 0a3fdb60229d9e3c9d61c7f01d40ed74159f1b2c /src/table/replication | |
parent | fe9af1dcaae31a117528a9cfa10c422c9a850201 (diff) | |
download | garage-8dccee3ccfe7793c42203f28c1e91c6f989b6899.tar.gz garage-8dccee3ccfe7793c42203f28c1e91c6f989b6899.zip |
cluster layout: adapt all uses of ClusterLayout to LayoutHistory
Diffstat (limited to 'src/table/replication')
-rw-r--r-- | src/table/replication/fullcopy.rs | 5 | ||||
-rw-r--r-- | src/table/replication/sharded.rs | 16 |
2 files changed, 12 insertions, 9 deletions
diff --git a/src/table/replication/fullcopy.rs b/src/table/replication/fullcopy.rs index 34807e3d..a5c83d0f 100644 --- a/src/table/replication/fullcopy.rs +++ b/src/table/replication/fullcopy.rs @@ -27,11 +27,10 @@ impl TableReplication for TableFullReplication { } fn write_nodes(&self, _hash: &Hash) -> Vec<Uuid> { - let layout = self.system.cluster_layout(); - layout.node_ids().to_vec() + self.system.cluster_layout().current().node_ids().to_vec() } fn write_quorum(&self) -> usize { - let nmembers = self.system.cluster_layout().node_ids().len(); + let nmembers = self.system.cluster_layout().current().node_ids().len(); if nmembers > self.max_faults { nmembers - self.max_faults } else { diff --git a/src/table/replication/sharded.rs b/src/table/replication/sharded.rs index 60c95cb4..793d87fd 100644 --- a/src/table/replication/sharded.rs +++ b/src/table/replication/sharded.rs @@ -26,16 +26,20 @@ pub struct TableShardedReplication { impl TableReplication for TableShardedReplication { fn read_nodes(&self, hash: &Hash) -> Vec<Uuid> { - let layout = self.system.cluster_layout(); - layout.nodes_of(hash, self.replication_factor) + self.system + .cluster_layout() + .current() + .nodes_of(hash, self.replication_factor) } fn read_quorum(&self) -> usize { self.read_quorum } fn write_nodes(&self, hash: &Hash) -> Vec<Uuid> { - let layout = self.system.cluster_layout(); - layout.nodes_of(hash, self.replication_factor) + self.system + .cluster_layout() + .current() + .nodes_of(hash, self.replication_factor) } fn write_quorum(&self) -> usize { self.write_quorum @@ -45,9 +49,9 @@ impl TableReplication for TableShardedReplication { } fn partition_of(&self, hash: &Hash) -> Partition { - self.system.cluster_layout().partition_of(hash) + self.system.cluster_layout().current().partition_of(hash) } fn partitions(&self) -> Vec<(Partition, Hash)> { - self.system.cluster_layout().partitions() + self.system.cluster_layout().current().partitions() } } |