From c054de43dd3ccbf6a884f73a474b423bbab41d08 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Fri, 10 Jun 2022 11:23:40 +0200 Subject: [PATCH] Revert "Change object counter table to use full replication" This reverts commit bc29d77ed3865fcadfc8d99d029851f6d0f2dee1. --- src/model/garage.rs | 10 +++++----- src/model/index_counter.rs | 8 ++++---- src/model/k2v/item_table.rs | 3 +-- src/model/s3/object_table.rs | 4 ++-- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/model/garage.rs b/src/model/garage.rs index a776789b..15769a17 100644 --- a/src/model/garage.rs +++ b/src/model/garage.rs @@ -52,8 +52,8 @@ pub struct Garage { /// Table containing S3 objects pub object_table: Arc>, - /// Counting table containing object counters for each bucket - pub object_counter_table: Arc>, + /// Counting table containing object counters + pub object_counter_table: Arc>, /// Table containing S3 object versions pub version_table: Arc>, /// Table containing S3 block references (not blocks themselves) @@ -68,7 +68,7 @@ pub struct GarageK2V { /// Table containing K2V items pub item_table: Arc>, /// Indexing table containing K2V item counters - pub counter_table: Arc>, + pub counter_table: Arc>, /// K2V RPC handler pub rpc: Arc, } @@ -176,7 +176,7 @@ impl Garage { &db, ); info!("Initialize key_table_table..."); - let key_table = Table::new(KeyTable, control_rep_param.clone(), system.clone(), &db); + let key_table = Table::new(KeyTable, control_rep_param, system.clone(), &db); // ---- S3 tables ---- info!("Initialize block_ref_table..."); @@ -201,7 +201,7 @@ impl Garage { ); info!("Initialize object counter table..."); - let object_counter_table = IndexCounter::new(system.clone(), control_rep_param, &db); + let object_counter_table = IndexCounter::new(system.clone(), meta_rep_param.clone(), &db); info!("Initialize object_table..."); #[allow(clippy::redundant_clone)] diff --git a/src/model/index_counter.rs b/src/model/index_counter.rs index a8837e0f..36e8172b 100644 --- a/src/model/index_counter.rs +++ b/src/model/index_counter.rs @@ -138,17 +138,17 @@ impl TableSchema for CounterTable { // ---- -pub struct IndexCounter { +pub struct IndexCounter { this_node: Uuid, local_counter: db::Tree, propagate_tx: mpsc::UnboundedSender<(T::CP, T::CS, LocalCounterEntry)>, - pub table: Arc, R>>, + pub table: Arc, TableShardedReplication>>, } -impl IndexCounter { +impl IndexCounter { pub fn new( system: Arc, - replication: R, + replication: TableShardedReplication, db: &db::Db, ) -> Arc { let background = system.background.clone(); diff --git a/src/model/k2v/item_table.rs b/src/model/k2v/item_table.rs index 0d91f5e9..baa1db4b 100644 --- a/src/model/k2v/item_table.rs +++ b/src/model/k2v/item_table.rs @@ -6,7 +6,6 @@ use garage_db as db; use garage_util::data::*; use garage_table::crdt::*; -use garage_table::replication::*; use garage_table::*; use crate::index_counter::*; @@ -188,7 +187,7 @@ impl Entry for K2VItem { } pub struct K2VItemTable { - pub(crate) counter_table: Arc>, + pub(crate) counter_table: Arc>, pub(crate) subscriptions: Arc, } diff --git a/src/model/s3/object_table.rs b/src/model/s3/object_table.rs index b9995d79..23cce1d3 100644 --- a/src/model/s3/object_table.rs +++ b/src/model/s3/object_table.rs @@ -8,7 +8,7 @@ use garage_util::background::BackgroundRunner; use garage_util::data::*; use garage_table::crdt::*; -use garage_table::replication::*; +use garage_table::replication::TableShardedReplication; use garage_table::*; use crate::index_counter::*; @@ -223,7 +223,7 @@ impl Crdt for Object { pub struct ObjectTable { pub background: Arc, pub version_table: Arc>, - pub object_counter_table: Arc>, + pub object_counter_table: Arc>, } #[derive(Clone, Copy, Debug, Serialize, Deserialize)]