all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: Proxmox Backup Server development discussion
	<pbs-devel@lists.proxmox.com>,
	Christian Ebner <c.ebner@proxmox.com>
Subject: Re: [pbs-devel] [PATCH v4 proxmox-backup 0/5] handle reader client disconnects
Date: Wed, 9 Apr 2025 14:53:06 +0200	[thread overview]
Message-ID: <0a791209-cbc2-4ab7-8d29-3f5c49c86f63@proxmox.com> (raw)
In-Reply-To: <20250408125839.196668-1-c.ebner@proxmox.com>

Am 08.04.25 um 14:58 schrieb Christian Ebner:
> These patches attempt to improve the server side error handling for
> backukp reader client disconnects.
> 
> During regular operation, the server currently cannot distinguish a
> disconnect because of error from a disconnect because of finished
> operation. This leaves behind a task in failed state, which is
> unexpected and might cause confusion [0].
> 
> To improve error handling, follow the approach taken for the backup
> writer tasks, letting the client signal it has successfully finished
> via an api call and catch the disconnect error for that case.
> 
> The signaling of messages/warnings in case of client side aborts
> triggered by the user as suggested by Fabian has not been
> implemented, as that is currently not transparently handled by the
> client (only handled by BackupReader's Drop impl), therefore seemed
> out of scope for this patch series.
> 
> changes since version 3:
> - rebased onto current master
> 
> Reported in the community forum:
> [0] https://forum.proxmox.com/threads/158306/
> 

While I wasn't able to reproduce the exact issue as reported in the
forum thread I was able to run into a slightly different one by issuing
the following two commands

proxmox-backup-client backup --repository 10.10.100.180:bigone
ex.pxar:example
proxmox-backup-client backup --repository 10.10.100.180:bigone
ex.pxar:example --change-detection-mode metadata

resulting in a backup reader task that had to read no chunks (and that
was the correct timing for me to trigger the race I guess):

> 2025-04-09T14:36:21+02:00: starting new backup reader datastore 'bigone': "/mnt/datastore/bigone"
> 2025-04-09T14:36:21+02:00: protocol upgrade done
> 2025-04-09T14:36:21+02:00: TASK ERROR: connection error: connection reset: connection reset

While testing that the refactor for "proxmox-backup-debug diff" did not
mess anything up I ran into a completely different issue, namely, that
it doesn't work for split archives:

> root@pbs1:~# proxmox-backup-debug diff archive ct/131/2025-02-11T12:40:25Z ct/131/2025-04-09T11:29:09Z root.pxar --repository localhost:bigone
> Error: Unable to open dynamic index "/mnt/datastore/bigone/ct/131/2025-04-09T11:29:09Z/root.pxar.didx" - No such file or directory (os error 2)
> root@pbs1:~# ls /mnt/datastore/bigone/ct/131/2025-04-09T11:29:09Z
> client.log.blob  index.json.blob  pct.conf.blob  root.mpxar.didx  root.ppxar.didx


Another issue I found is that using a patched client but unpatched
server will result in a client error:

> Error: Path '/finish' not found.

and non-zero exit code. Can the client check whether the server supports
the new endpoint and handle this gracefully?


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


  parent reply	other threads:[~2025-04-09 12:53 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-08 12:58 Christian Ebner
2025-04-08 12:58 ` [pbs-devel] [PATCH v4 proxmox-backup 1/5] client: reader: drop dead code Christian Ebner
2025-04-08 12:58 ` [pbs-devel] [PATCH v4 proxmox-backup 2/5] backup debug: diff: refactor backup reader creation Christian Ebner
2025-04-08 12:58 ` [pbs-devel] [PATCH v4 proxmox-backup 3/5] api: reader: handle reader client disconnects Christian Ebner
2025-04-08 12:58 ` [pbs-devel] [PATCH v4 proxmox-backup 4/5] client: reader: add finish method to signal client state to server Christian Ebner
2025-04-09 13:53   ` Max Carrara
2025-04-09 14:27     ` Christian Ebner
2025-04-08 12:58 ` [pbs-devel] [PATCH v4 proxmox-backup 5/5] client: backup reader: call finish before dropping backup readers Christian Ebner
2025-04-09 12:53 ` Fiona Ebner [this message]
2025-04-09 12:55   ` [pbs-devel] [PATCH v4 proxmox-backup 0/5] handle reader client disconnects Fiona Ebner
2025-04-09 13:20     ` Thomas Lamprecht
2025-04-09 13:35       ` Fiona Ebner
2025-04-09 13:25   ` Christian Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0a791209-cbc2-4ab7-8d29-3f5c49c86f63@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=c.ebner@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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