aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2021-03-16 11:47:39 +0100
committerAlex Auvolat <alex@adnab.me>2021-03-16 11:47:39 +0100
commit0aad2f2e066b5914ac94bb319e7679e2e7761b2b (patch)
tree81b52a8b8647c0ba0ce44e3ffc554ec46a84b0b2
parent515029d026937d29395379c76188f509984b8ace (diff)
downloadgarage-0aad2f2e066b5914ac94bb319e7679e2e7761b2b.tar.gz
garage-0aad2f2e066b5914ac94bb319e7679e2e7761b2b.zip
some reordering
-rw-r--r--src/table/gc.rs6
-rw-r--r--src/table/merkle.rs6
-rw-r--r--src/table/table.rs4
3 files changed, 7 insertions, 9 deletions
diff --git a/src/table/gc.rs b/src/table/gc.rs
index d99e3e40..20ebe3c7 100644
--- a/src/table/gc.rs
+++ b/src/table/gc.rs
@@ -25,8 +25,8 @@ const TABLE_GC_BATCH_SIZE: usize = 1024;
const TABLE_GC_RPC_TIMEOUT: Duration = Duration::from_secs(30);
pub struct TableGC<F: TableSchema, R: TableReplication> {
- data: Arc<TableData<F, R>>,
system: Arc<System>,
+ data: Arc<TableData<F, R>>,
rpc_client: Arc<RpcClient<GcRPC>>,
}
@@ -46,16 +46,16 @@ where
R: TableReplication + 'static,
{
pub(crate) fn launch(
- data: Arc<TableData<F, R>>,
system: Arc<System>,
+ data: Arc<TableData<F, R>>,
rpc_server: &mut RpcServer,
) -> Arc<Self> {
let rpc_path = format!("table_{}/gc", data.name);
let rpc_client = system.rpc_client::<GcRPC>(&rpc_path);
let gc = Arc::new(Self {
- data: data.clone(),
system: system.clone(),
+ data: data.clone(),
rpc_client,
});
diff --git a/src/table/merkle.rs b/src/table/merkle.rs
index 8c3dcad9..86fef4c5 100644
--- a/src/table/merkle.rs
+++ b/src/table/merkle.rs
@@ -38,7 +38,6 @@ pub fn hash_of_merkle_partition_opt(p: Option<MerklePartition>) -> Hash {
pub struct MerkleUpdater<F: TableSchema, R: TableReplication> {
data: Arc<TableData<F, R>>,
- background: Arc<BackgroundRunner>,
// Content of the todo tree: items where
// - key = the key of an item in the main table, ie hash(partition_key)+sort_key
@@ -86,19 +85,18 @@ where
R: TableReplication + 'static,
{
pub(crate) fn launch(
+ background: &BackgroundRunner,
data: Arc<TableData<F, R>>,
- background: Arc<BackgroundRunner>,
) -> Arc<Self> {
let empty_node_hash = blake2sum(&rmp_to_vec_all_named(&MerkleNode::Empty).unwrap()[..]);
let ret = Arc::new(Self {
data,
- background,
empty_node_hash,
});
let ret2 = ret.clone();
- ret.background.spawn_worker(
+ background.spawn_worker(
format!("Merkle tree updater for {}", ret.data.name),
|must_exit: watch::Receiver<bool>| ret2.updater_loop(must_exit),
);
diff --git a/src/table/table.rs b/src/table/table.rs
index f00b4239..421c8bf5 100644
--- a/src/table/table.rs
+++ b/src/table/table.rs
@@ -66,7 +66,7 @@ where
let data = TableData::new(name, instance, replication, db);
- let merkle_updater = MerkleUpdater::launch(data.clone(), system.background.clone());
+ let merkle_updater = MerkleUpdater::launch(&system.background, data.clone());
let syncer = TableSyncer::launch(
system.clone(),
@@ -74,7 +74,7 @@ where
merkle_updater.clone(),
rpc_server,
);
- TableGC::launch(data.clone(), system.clone(), rpc_server);
+ TableGC::launch(system.clone(), data.clone(), rpc_server);
let table = Arc::new(Self {
system,