all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] api: datastore: add missing log context for prune
@ 2025-01-27 13:38 Christian Ebner
  2025-01-28 10:21 ` Gabriel Goller
  2025-01-28 12:09 ` [pbs-devel] applied: " Thomas Lamprecht
  0 siblings, 2 replies; 3+ messages in thread
From: Christian Ebner @ 2025-01-27 13:38 UTC (permalink / raw)
  To: pbs-devel

Adds the missing log context for cases were a prune is not executed
as dedicated tokio task.

Commit 432de66a ("api: make prune-group a real workertask") moved the
prune group logic into it's own tokio task conditionally.

However, the log context was missing for cases where no dedicated
task/thread is started, leading to the worker task state being
unknown after finish, as no logs are written to the worker task log
file.

Reported in the community forum:
https://forum.proxmox.com/threads/161273/

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
 src/api2/admin/datastore.rs | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
index f5d80d610..dbb7ae477 100644
--- a/src/api2/admin/datastore.rs
+++ b/src/api2/admin/datastore.rs
@@ -19,6 +19,7 @@ use tracing::{info, warn};
 use proxmox_async::blocking::WrappedReaderStream;
 use proxmox_async::{io::AsyncChannelWriter, stream::AsyncReaderStream};
 use proxmox_compression::zstd::ZstdEncoder;
+use proxmox_log::LogContext;
 use proxmox_router::{
     http_err, list_subdirs_api_method, ApiHandler, ApiMethod, ApiResponseFuture, Permission,
     Router, RpcEnvironment, RpcEnvironmentType, SubdirMap,
@@ -1112,9 +1113,13 @@ pub fn prune(
         )?;
         Ok(json!(upid))
     } else {
-        let (worker, _) = WorkerTask::new("prune", Some(worker_id), auth_id.to_string(), true)?;
-        let result = prune_group(worker.clone());
-        worker.log_result(&Ok(()));
+        let (worker, logger) =
+            WorkerTask::new("prune", Some(worker_id), auth_id.to_string(), true)?;
+        let result = LogContext::new(logger).sync_scope(|| {
+            let result = prune_group(worker.clone());
+            worker.log_result(&Ok(()));
+            result
+        });
         Ok(json!(result))
     }
 }
-- 
2.39.5



_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-01-28 12:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-27 13:38 [pbs-devel] [PATCH proxmox-backup] api: datastore: add missing log context for prune Christian Ebner
2025-01-28 10:21 ` Gabriel Goller
2025-01-28 12:09 ` [pbs-devel] applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal