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

* Re: [pbs-devel] [PATCH proxmox-backup] api: datastore: add missing log context for prune
  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
  1 sibling, 0 replies; 3+ messages in thread
From: Gabriel Goller @ 2025-01-28 10:21 UTC (permalink / raw)
  To: Christian Ebner; +Cc: pbs-devel

On 27.01.2025 14:38, Christian Ebner wrote:
>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.

I had a feeling the "task-less" prune job would come back to haunt us,
and sure enough, here we are :(.

Fix looks good though, let's hope we can remove this in the next release
anyway.

Consider:
Reviewed-by: Gabriel Goller <g.goller@proxmox.com


_______________________________________________
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

* [pbs-devel] applied: [PATCH proxmox-backup] api: datastore: add missing log context for prune
  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 ` Thomas Lamprecht
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Lamprecht @ 2025-01-28 12:09 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Christian Ebner

Am 27.01.25 um 14:38 schrieb Christian Ebner:
> 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(-)
> 
>

applied, with Gabriel's R-b, thanks!


_______________________________________________
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