From 30f73fa2e0d2b8a94a36e46a69791df75fd07941 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Tue, 10 Nov 2020 10:54:36 +0100 Subject: [PATCH] fix bug #3060: continue sync if we cannot aquire the group lock --- src/client/pull.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/client/pull.rs b/src/client/pull.rs index 3ef89b6e..7d55f9fa 100644 --- a/src/client/pull.rs +++ b/src/client/pull.rs @@ -528,7 +528,16 @@ pub async fn pull_store( for (groups_done, item) in list.into_iter().enumerate() { let group = BackupGroup::new(&item.backup_type, &item.backup_id); - let (owner, _lock_guard) = tgt_store.create_locked_backup_group(&group, &auth_id)?; + let (owner, _lock_guard) = match tgt_store.create_locked_backup_group(&group, &auth_id) { + Ok(result) => result, + Err(err) => { + worker.log(format!("sync group {}/{} failed - group lock failed: {}", + item.backup_type, item.backup_id, err)); + errors = true; // do not stop here, instead continue + continue; + } + }; + // permission check if auth_id != owner { // only the owner is allowed to create additional snapshots worker.log(format!("sync group {}/{} failed - owner check failed ({} != {})",