diff options
author | Alex Auvolat <alex@adnab.me> | 2022-12-14 11:58:06 +0100 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2022-12-14 11:58:06 +0100 |
commit | 83c8467e23c1f531ae233766d5dc7244afe57f08 (patch) | |
tree | d2f959bccc6c779917ce64bee2b2f1cc236164db /src/table/merkle.rs | |
parent | f8e528c15de0c9d31c16e5cd8e58f99f4132f103 (diff) | |
download | garage-83c8467e23c1f531ae233766d5dc7244afe57f08.tar.gz garage-83c8467e23c1f531ae233766d5dc7244afe57f08.zip |
Proper queueing for delayed inserts, now backed to disk
Diffstat (limited to 'src/table/merkle.rs')
-rw-r--r-- | src/table/merkle.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/table/merkle.rs b/src/table/merkle.rs index e977bfb5..bcf9f9d7 100644 --- a/src/table/merkle.rs +++ b/src/table/merkle.rs @@ -3,6 +3,7 @@ use std::time::Duration; use async_trait::async_trait; use serde::{Deserialize, Serialize}; +use tokio::select; use tokio::sync::watch; use garage_db as db; @@ -343,7 +344,10 @@ where if *must_exit.borrow() { return WorkerState::Done; } - tokio::time::sleep(Duration::from_secs(10)).await; + select! { + _ = tokio::time::sleep(Duration::from_secs(60)) => (), + _ = self.0.data.merkle_todo_notify.notified() => (), + } WorkerState::Busy } } |