Spawn all background workers in a separate step

This commit is contained in:
Alex Auvolat
2022-12-14 12:28:07 +01:00
parent 83c8467e23
commit 2183518edc
12 changed files with 115 additions and 61 deletions
+21
View File
@@ -273,6 +273,22 @@ impl Garage {
}))
}
pub fn spawn_workers(&self) {
self.block_manager.spawn_workers();
self.bucket_table.spawn_workers();
self.bucket_alias_table.spawn_workers();
self.key_table.spawn_workers();
self.object_table.spawn_workers();
self.object_counter_table.spawn_workers();
self.version_table.spawn_workers();
self.block_ref_table.spawn_workers();
#[cfg(feature = "k2v")]
self.k2v.spawn_workers();
}
pub fn bucket_helper(&self) -> helper::bucket::BucketHelper {
helper::bucket::BucketHelper(self)
}
@@ -307,4 +323,9 @@ impl GarageK2V {
rpc,
}
}
pub fn spawn_workers(&self) {
self.item_table.spawn_workers();
self.counter_table.spawn_workers();
}
}
+4
View File
@@ -164,6 +164,10 @@ impl<T: CountedItem> IndexCounter<T> {
})
}
pub fn spawn_workers(&self) {
self.table.spawn_workers();
}
pub fn count(
&self,
tx: &mut db::Transaction,