[pbs-devel] [RFC proxmox-backup 6/6] sync: improve log output

Fabian Grünbichler f.gruenbichler at proxmox.com
Tue Jul 21 15:03:37 CEST 2020


add a bit more info and simplify some log statements.

Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---

Notes:
    I am not sure whether this idea of 'last successful sync' == 'last successful
    backup' is such a good idea in any case..
    
    this also might be too verbose for busy datastores - maybe just printing a
    count of skipped, already previously synced snapshots is better?

 src/client/pull.rs | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/client/pull.rs b/src/client/pull.rs
index 421260a3..1718c752 100644
--- a/src/client/pull.rs
+++ b/src/client/pull.rs
@@ -310,8 +310,10 @@ pub async fn pull_group(
         "backup-id": group.backup_id(),
     });
 
+    worker.log(format!("sync group {}", group));
     let mut result = client.get(&path, Some(args)).await?;
     let mut list: Vec<SnapshotListItem> = serde_json::from_value(result["data"].take())?;
+    worker.log(format!("remote returned {} snapshots", list.len()));
 
     list.sort_unstable_by(|a, b| a.backup_time.cmp(&b.backup_time));
 
@@ -336,7 +338,10 @@ pub async fn pull_group(
         remote_snapshots.insert(backup_time);
 
         if let Some(last_sync_time) = last_sync {
-            if last_sync_time > backup_time { continue; }
+            if last_sync_time > backup_time {
+                worker.log(format!("skipping snapshot {} - already synced", snapshot));
+                continue;
+            }
         }
 
         let options = HttpClientOptions::new()
@@ -411,14 +416,14 @@ pub async fn pull_store(
         let owner = tgt_store.create_backup_group(&group, &username)?;
         // permission check
         if owner != username { // only the owner is allowed to create additional snapshots
-            worker.log(format!("sync group {}/{} failed - owner check failed ({} != {})",
-                               item.backup_type, item.backup_id, username, owner));
+            worker.log(format!("sync group {} failed - owner check failed ({} != {})",
+                               group, username, owner));
             errors = true;
             continue; // do not stop here, instead continue
         }
 
         if let Err(err) = pull_group(worker, client, src_repo, tgt_store.clone(), &group, delete).await {
-            worker.log(format!("sync group {}/{} failed - {}", item.backup_type, item.backup_id, err));
+            worker.log(format!("sync group {} failed - {}", group, err));
             errors = true;
             continue; // do not stop here, instead continue
         }
@@ -429,7 +434,7 @@ pub async fn pull_store(
             let local_groups = BackupGroup::list_groups(&tgt_store.base_path())?;
             for local_group in local_groups {
                 if new_groups.contains(&local_group) { continue; }
-                worker.log(format!("delete vanished group '{}/{}'", local_group.backup_type(), local_group.backup_id()));
+                worker.log(format!("delete vanished group '{}'", local_group));
                 if let Err(err) = tgt_store.remove_backup_group(&local_group) {
                     worker.log(err.to_string());
                     errors = true;
-- 
2.20.1






More information about the pbs-devel mailing list