aboutsummaryrefslogtreecommitdiff
path: root/src/garage/repair.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/garage/repair.rs')
-rw-r--r--src/garage/repair.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/garage/repair.rs b/src/garage/repair.rs
index a90b4148..cdcfc90f 100644
--- a/src/garage/repair.rs
+++ b/src/garage/repair.rs
@@ -64,8 +64,9 @@ impl Repair {
async fn repair_versions(&self, must_exit: &watch::Receiver<bool>) -> Result<(), Error> {
let mut pos = vec![];
+ let mut i = 0;
- while *must_exit.borrow() {
+ while !*must_exit.borrow() {
let item_bytes = {
let (k, v) = match self.garage.version_table.data.store.get_gt(pos)? {
Some(pair) => pair,
@@ -75,6 +76,11 @@ impl Repair {
v.into_vec()
};
+ i += 1;
+ if i % 1000 == 0 {
+ info!("repair_versions: {}", i);
+ }
+
let version = rmp_serde::decode::from_read_ref::<_, Version>(&item_bytes)?;
if version.deleted.get() {
continue;
@@ -104,13 +110,15 @@ impl Repair {
.await?;
}
}
+ info!("repair_versions: finished, done {}", i);
Ok(())
}
async fn repair_block_ref(&self, must_exit: &watch::Receiver<bool>) -> Result<(), Error> {
let mut pos = vec![];
+ let mut i = 0;
- while *must_exit.borrow() {
+ while !*must_exit.borrow() {
let item_bytes = {
let (k, v) = match self.garage.block_ref_table.data.store.get_gt(pos)? {
Some(pair) => pair,
@@ -120,6 +128,11 @@ impl Repair {
v.into_vec()
};
+ i += 1;
+ if i % 1000 == 0 {
+ info!("repair_block_ref: {}", i);
+ }
+
let block_ref = rmp_serde::decode::from_read_ref::<_, BlockRef>(&item_bytes)?;
if block_ref.deleted.get() {
continue;
@@ -146,6 +159,7 @@ impl Repair {
.await?;
}
}
+ info!("repair_block_ref: finished, done {}", i);
Ok(())
}
}