aboutsummaryrefslogtreecommitdiff
path: root/src/table/table_sync.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/table/table_sync.rs')
-rw-r--r--src/table/table_sync.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/table/table_sync.rs b/src/table/table_sync.rs
index 58391274..2c984226 100644
--- a/src/table/table_sync.rs
+++ b/src/table/table_sync.rs
@@ -319,7 +319,7 @@ where
}
counter += 1;
- debug!("Offloading items from {:?}..{:?} ({})", begin, end, counter);
+ debug!("Offloading {} items from {:?}..{:?} ({})", items.len(), begin, end, counter);
self.offload_items(&items, &nodes[..]).await?;
} else {
break;
@@ -348,8 +348,15 @@ where
}
// All remote nodes have written those items, now we can delete them locally
+ let mut not_removed = 0;
for (k, v) in items.iter() {
- self.table.delete_if_equal(&k[..], &v[..])?;
+ if !self.table.delete_if_equal(&k[..], &v[..])? {
+ not_removed += 1;
+ }
+ }
+
+ if not_removed > 0 {
+ debug!("{} items not removed during offload because they changed in between (trying again...)", not_removed);
}
Ok(())