From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 92BD260859 for ; Thu, 24 Sep 2020 16:14:54 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 9054B1310A for ; Thu, 24 Sep 2020 16:14:54 +0200 (CEST) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 6CDB4130FB for ; Thu, 24 Sep 2020 16:14:53 +0200 (CEST) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 9922C4288F for ; Thu, 24 Sep 2020 16:01:19 +0200 (CEST) To: Proxmox Backup Server development discussion , Dominik Csapak References: <20200924135226.30186-1-d.csapak@proxmox.com> From: Stefan Reiter Message-ID: Date: Thu, 24 Sep 2020 16:01:13 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20200924135226.30186-1-d.csapak@proxmox.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.051 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -0.001 Looks like a legit reply (A) 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 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-backup-proxy.rs] Subject: Re: [pbs-devel] [PATCH proxmox-backup 1/2] proxy: fix error handling in prune scheduling X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Sep 2020 14:14:54 -0000 On 9/24/20 3:52 PM, Dominik Csapak wrote: > we rely on the jobstate handling to write the error of the worker > into its state file, but we used '?' here in a block which does not > return the error to the block, but to the function/closure instead > > so if a prune job failed because of such an '?', we did not write > into the statefile and got a wrong state there > > instead execute the code in a closure where the error gets returned > correctly > > in the future, we can use 'try blocks' (currently not in stable) > Don't we also have the proxmox::try_block! macro? What's the difference to that then? > Signed-off-by: Dominik Csapak > --- > src/bin/proxmox-backup-proxy.rs | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/bin/proxmox-backup-proxy.rs b/src/bin/proxmox-backup-proxy.rs > index 8a6dfe36..96001214 100644 > --- a/src/bin/proxmox-backup-proxy.rs > +++ b/src/bin/proxmox-backup-proxy.rs > @@ -434,7 +434,7 @@ async fn schedule_datastore_prune() { > > job.start(&worker.upid().to_string())?; > > - let result = { > + let result = (|| { > > worker.log(format!("Starting datastore prune on store \"{}\"", store)); > worker.log(format!("task triggered by schedule '{}'", event_str)); > @@ -463,7 +463,7 @@ async fn schedule_datastore_prune() { > } > } > Ok(()) > - }; > + })(); > > let status = worker.create_state(&result); > >