From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id AB3FE1FF09C for ; Mon, 02 Nov 2026 13:00:01 +0100 (CET) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 98EDA21750; Mon, 02 Nov 2026 12:59:54 +0100 (CET) From: Jakob Klocker To: pve-devel@lists.proxmox.com Subject: [PATCH guest-common/manager 0/3] fix #6464: backup: add backup retry strategies Date: Mon, 2 Nov 2026 12:58:48 +0100 Message-ID: <20261102115851.171429-1-j.klocker@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1793620789990 X-SPAM-LEVEL: Spam detection results: 0 AWL 1.476 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: B7YQDYBEGHOWK6OTZVINS4OR3JXFE23E X-Message-ID-Hash: B7YQDYBEGHOWK6OTZVINS4OR3JXFE23E X-MailFrom: j.klocker@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This series introduces automatic backup retries for guest backups in vzdump to better handle transient failures. As suggested by @Thomas [0], three strategies were added: - `retry-immediately`: Immediately retries failed guests up to a configurable maximum retry count. - `retry`: Defers failed guests and retries them at the end of the job up to the configurable maximum retry count. - `ignore`: Retains the existing behavior by ignoring failures. The number of retries is set with the new `max-retries` option (1-10, default 5). Between attempts, a backoff delay is applied that starts at 30 seconds, doubles with each retry and is capped at 30 minutes. For `retry`, the delay is measured from the last failure of that guest. The interval and cap are intentionally not configurable for now. If a guest succeeds on a retry, it is reported as successful in the notification and no error is counted. If it still fails after the last retry, the job finishes with errors as before. Task logging has been switched to append mode so the log contains the complete transcript of all attempts. I kept the retry options in the advanced tab of the backup job window, but I'm not sure whether they should be moved to the general tab. Opinions on this are appreciated. Testing info: When testing I'd suggest to fail the backup by locking and unlocking the guest with following commands: `qm set -lock backup` `qm unlock ` [0] https://bugzilla.proxmox.com/show_bug.cgi?id=6464#c5 Link: https://bugzilla.proxmox.com/show_bug.cgi?id=6464 pve-guest-common: Jakob Klocker (1): vzdump: add error-behavior and max-retries options src/PVE/VZDump/Common.pm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) pve-manager: Jakob Klocker (2): fix #6464: vzdump: add retry strategies for failed guest backups ui: backup: add error behavior and retry options PVE/VZDump.pm | 131 +++++++++++++++++++- www/manager6/dc/Backup.js | 2 +- www/manager6/panel/BackupAdvancedOptions.js | 52 ++++++++ www/manager6/window/Backup.js | 47 ++++++- 4 files changed, 228 insertions(+), 4 deletions(-) Summary over all repositories: 5 files changed, 243 insertions(+), 4 deletions(-) -- Generated by murpp 0.12.0