From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pbs-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 9BFF31FF187
	for <inbox@lore.proxmox.com>; Wed,  9 Apr 2025 15:26:02 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id D5BF58845;
	Wed,  9 Apr 2025 15:25:57 +0200 (CEST)
Message-ID: <73be13fb-18b1-4a28-aa3d-f61e4c71c62d@proxmox.com>
Date: Wed, 9 Apr 2025 15:25:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Fiona Ebner <f.ebner@proxmox.com>,
 Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>
References: <20250408125839.196668-1-c.ebner@proxmox.com>
 <0a791209-cbc2-4ab7-8d29-3f5c49c86f63@proxmox.com>
Content-Language: en-US, de-DE
From: Christian Ebner <c.ebner@proxmox.com>
In-Reply-To: <0a791209-cbc2-4ab7-8d29-3f5c49c86f63@proxmox.com>
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.030 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DMARC_MISSING             0.1 Missing DMARC policy
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to
 Validity was blocked. See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more
 information.
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [proxmox.com]
Subject: Re: [pbs-devel] [PATCH v4 proxmox-backup 0/5] handle reader client
 disconnects
X-BeenThere: pbs-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox Backup Server development discussion
 <pbs-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/>
List-Post: <mailto:pbs-devel@lists.proxmox.com>
List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, 
 <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe>
Reply-To: Proxmox Backup Server development discussion
 <pbs-devel@lists.proxmox.com>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Errors-To: pbs-devel-bounces@lists.proxmox.com
Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com>

On 4/9/25 14:53, Fiona Ebner wrote:
> 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

Hmm, okay will open an issue for this, as this will require bigger changes.

> 
> 
> 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?

Yeah, good point! I will see how to fix this, should be able to extract 
the information I need from the version endpoint.



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