From b6ba5acd29fe94287c44c6f960f4b8191fb5f2be Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 2 Nov 2020 12:34:39 +0100 Subject: [PATCH] proxmox-backup-proxy: use only jobstate for garbage_collection schedule in case the garbage_collection errors out, we never set the in-memory state, so if it failed, the last 'good' starttime was considered for the schedule this could lead to the job running every minute instead of the correct schedule Signed-off-by: Dominik Csapak --- src/bin/proxmox-backup-proxy.rs | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs index 056d06ab..63187b28 100644 --- a/src/bin/proxmox-backup-proxy.rs +++ b/src/bin/proxmox-backup-proxy.rs @@ -295,22 +295,11 @@ async fn schedule_datastore_garbage_collection() { let worker_type = "garbage_collection"; - let stat = datastore.last_gc_status(); - let last = if let Some(upid_str) = stat.upid { - match upid_str.parse::() { - Ok(upid) => upid.starttime, - Err(err) => { - eprintln!("unable to parse upid '{}' - {}", upid_str, err); - continue; - } - } - } else { - match jobstate::last_run_time(worker_type, &store) { - Ok(time) => time, - Err(err) => { - eprintln!("could not get last run time of {} {}: {}", worker_type, store, err); - continue; - } + let last = match jobstate::last_run_time(worker_type, &store) { + Ok(time) => time, + Err(err) => { + eprintln!("could not get last run time of {} {}: {}", worker_type, store, err); + continue; } };