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) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with UTF8SMTPS id 6179A6BC0C for ; Thu, 18 Mar 2021 11:31:11 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with UTF8SMTP id 527B8FBA0 for ; Thu, 18 Mar 2021 11:31:11 +0100 (CET) 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 UTF8SMTPS id 7458FFB93 for ; Thu, 18 Mar 2021 11:31:09 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with UTF8SMTP id 3BDD0427B0; Thu, 18 Mar 2021 11:31:09 +0100 (CET) Message-ID: <870f2fff-5bce-14ea-23d4-85c9106ab326@proxmox.com> Date: Thu, 18 Mar 2021 11:31:08 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:87.0) Gecko/20100101 Thunderbird/87.0 Content-Language: en-US To: Thomas Lamprecht , Proxmox Backup Server development discussion References: <20210316115623.9368-1-d.csapak@proxmox.com> <20210316115623.9368-2-d.csapak@proxmox.com> <611140b4-dd43-2ecd-e03a-d7d93db979de@proxmox.com> From: Dominik Csapak In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.183 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 Subject: Re: [pbs-devel] [PATCH proxmox-backup 2/3] server/email_notifications: do not panic on template registration 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, 18 Mar 2021 10:31:11 -0000 On 3/18/21 11:21, Thomas Lamprecht wrote: > On 18.03.21 10:57, Dominik Csapak wrote: >> On 3/17/21 20:38, Thomas Lamprecht wrote: >>> On 16.03.21 12:56, Dominik Csapak wrote: >>>> instead print an error and continue, the rendering functions will error >>>> out if one of the templates could not be registered >>>> >>>> if we `.unwrap()` here, it can lead to problems if the templates are >>>> not correct, i.e. we could panic while holding a lock, if something holds >>>> a mutex while this is called for the first time >>> >>> how can they error? >>> And any error (with or without this patch) would lead to emails notification not >>> working anymore, some may seem this as quite fatal error if they do not get notified >>> on erroneous jobs anymore? We may not be able to do much here, that's why above >>> question about what the error source can be. >> >> they can error if they do not compile, e.g. they have syntax errors >> while we should catch that during developement/reviewing, >> if it does happen, it generates some weird behaviour >> (for example panicing while holding a mutex) > > can't we just add a test for that instead, so that it is actually "compile checked" > when building a package? > > Then such errors would be actually fixed before getting released, relying on > review/test tends to fail and let slip something trhough sooner or later. yes ofc, thats a good idea, nonetheless would i prefer to not panic in such a situation, especially if there are no real downsides >> >> with my patch, we still generate a warning, but aside from >> sending notification mails (where we still would warn in the log) >> the rest should work fine, there we can ofc also error out on >> notification errors so that the tasks get an error >> (but a well defined one instead of a panic) >> >> also we may want to put the templates into files in the future >> so that users can adapt it and we can more easily change >> them (maybe localize them?) >> > > would need a sane reload mechanism then though, and in any way the one we ship > should be tested for basic validity on build. > wouldn't it be enough to leave it like it is and document the necessary daemon reload for use customized templates? (i'd imagine a system like for pmg, where we have the shipped templates separate from the ones the user customizes) on package update we reload the daemon anyway, so it reloads the new templates also we could ship a 'check-template' binary if we really wanted to