cluster layout: adapt all uses of ClusterLayout to LayoutHistory

This commit is contained in:
Alex Auvolat
2023-11-08 19:28:36 +01:00
parent fe9af1dcaa
commit 8dccee3ccf
12 changed files with 80 additions and 69 deletions
+6 -3
View File
@@ -450,10 +450,10 @@ impl<'a> BucketHelper<'a> {
#[cfg(feature = "k2v")]
{
use garage_rpc::layout::ClusterLayout;
use garage_rpc::layout::LayoutHistory;
use std::sync::Arc;
let layout: Arc<ClusterLayout> = self.0.system.cluster_layout().clone();
let layout: Arc<LayoutHistory> = self.0.system.cluster_layout().clone();
let k2vindexes = self
.0
.k2v
@@ -462,7 +462,10 @@ impl<'a> BucketHelper<'a> {
.get_range(
&bucket_id,
None,
Some((DeletedFilter::NotDeleted, layout.node_id_vec.clone())),
Some((
DeletedFilter::NotDeleted,
layout.current().node_id_vec.clone(),
)),
10,
EnumerationOrder::Forward,
)
+3 -3
View File
@@ -7,7 +7,7 @@ use serde::{Deserialize, Serialize};
use garage_db as db;
use garage_rpc::layout::ClusterLayout;
use garage_rpc::layout::LayoutHistory;
use garage_rpc::system::System;
use garage_util::background::BackgroundRunner;
use garage_util::data::*;
@@ -83,8 +83,8 @@ impl<T: CountedItem> Entry<T::CP, T::CS> for CounterEntry<T> {
}
impl<T: CountedItem> CounterEntry<T> {
pub fn filtered_values(&self, layout: &ClusterLayout) -> HashMap<String, i64> {
let nodes = &layout.node_id_vec[..];
pub fn filtered_values(&self, layout: &LayoutHistory) -> HashMap<String, i64> {
let nodes = &layout.current().node_id_vec[..];
self.filtered_values_with_nodes(nodes)
}