From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 565631FF165 for ; Wed, 12 Feb 2025 10:19:49 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0DED81028C; Wed, 12 Feb 2025 10:19:46 +0100 (CET) Message-ID: Date: Wed, 12 Feb 2025 10:19:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta To: Lukas Wagner , Proxmox Datacenter Manager development discussion References: <20250128122520.167796-1-l.wagner@proxmox.com> <4d3871ae-6cbc-40e4-96e2-8aee37563f79@proxmox.com> <3da58b54-5590-47d3-aa0d-f127209919f0@proxmox.com> Content-Language: en-GB, de-AT From: Thomas Lamprecht Autocrypt: addr=t.lamprecht@proxmox.com; keydata= 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 DrEx In-Reply-To: <3da58b54-5590-47d3-aa0d-f127209919f0@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.042 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 Subject: Re: [pdm-devel] [PATCH proxmox-datacenter-manager 00/15] change task cache mechanism from time-based to max-size FIFO X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" QW0gMDYuMDIuMjUgdW0gMTE6MTMgc2NocmllYiBMdWthcyBXYWduZXI6Cj4gT24gIDIwMjUtMDIt MDUgMTY6MzQsIFRob21hcyBMYW1wcmVjaHQgd3JvdGU6Cj4+IEFtIDMxLjAxLjI1IHVtIDEwOjM1 IHNjaHJpZWIgTHVrYXMgV2FnbmVyOgo+Pj4gU29tZSBhZGRpdGlvbmFsIGNvbnRleHQgYXMgdG8g ZXhwbGFpbiB0aGUgJ3doeScsIHNpbmNlIEBUaG9tYXMgYW5kIEBXb2xmZ2FuZyByZXF1ZXN0ZWQg aXQ6Cj4+Pgo+Pj4gVGhlIHN0YXR1cyBxdW8gZm9yIHRoZSB0YXNrIGNhY2hlIGlzIHRvIGZldGNo IGEgY2VydGFpbiB0aW1lLWJhc2VkIHJhbmdlIG9mIHRhc2tzCj4+PiAoaWlyYyB0aGUgbGFzdCBz ZXZlbiBkYXlzKSBmcm9tIGV2ZXJ5IHJlbW90ZSBhbmQgY2FjaGUgdGhpcyBmb3IgYSBjZXJ0YWlu IHBlcmlvZAo+Pj4gb2YgdGltZSAobWF4LWFnZSkuIElmIHRoZSBjYWNoZWQgZGF0YSBpcyB0b28g b2xkLCB3ZSBkaXNjYXJkIHRoZSB0YXNrIGRhdGEKPj4+IGFuZCBmZXRjaCB0aGUgc2FtZSB0aW1l IHJhbmdlIGFnYWluLgo+Pj4gTXkgaW5pdGlhbCByZWFzb25pbmcgYmVoaW5kIGRlc2lnbmluZyBp dCBsaWtlIHRoaXMgd2FzIHRvIGtlZXAgdGhlCj4+PiAnZ3JvdW5kIHRydXRoJyBjb21wbGV0ZWx5 IG9uIHRoZSByZW1vdGUgc2lkZSwgc28gKmlmKiBzb21lYm9keSB3ZXJlIHRvIG1lc3Mgd2l0aAo+ Pgo+PiBZZWFoLCBJIGFncmVlIHdpdGggV29sZmdhbmcgaGVyZSwgbm90aGluZyBpbiBvdXIgQVBJ IGFsbG93cyBtZXNzaW5nIHdpdGggdGhhdCwKPj4gbmVpdGhlciBkb2VzIGEgZmlyc3QtY2xhc3Mg UFZFIENMSSBjb21tYW5kIG9yIHRoZSBsaWtlLiBJZiB3ZSB3YW50IHRvIGhlZGdlCj4+IGFnYWlu c3QgdGhhdCB3ZSBiYXNpY2FsbHkgY2Fubm90IGNhY2hlIGFueXRoaW5nIGF0IGFsbCwgcmVuZGVy aW5nIHRoZW0gcmF0aGVyCj4+IHVzZWxlc3MsIGFzIGV2ZW4gUlJEIG1ldHJpY3MgY291bGQgYmUg YWx0ZXJlZC4KPj4KPj4gVXNpbmcgdGhlIHN0YXJ0LXRpbWUgb2YgdGhlIG5ld2VzdCBhdmFpbGFi bGUgdGFzayBmcm9tIHRoZSBjYWNoZSBhcyAoaW5jbHVzaXZlKQo+PiBib3VuZGFyeSB0byByZXF1 ZXN0IG5ld2VyIHRhc2tzIHRoYXQgaGFwcGVuZWQgc2luY2UgdGhlIGxhc3QgcXVlcnkgd291bGQg YmUKPj4gZW5vdWdoIG9yPwo+Pgo+PiBQcnVuaW5nIG9sZGVyIHRhc2tzIGZyb20gdGhlIGNhY2hl IGFmdGVyIHNvbWUgbWF4LXRpbWUgb3IgbWF4LXNpemUgbGltaXQKPj4gaXMgb3ZlcnN0ZXBwZWQg d291bGQgdGhlbiBtYWtlIHNlbnNlIHRob3VnaC4KPiAKPiBJIG1lYW4geWVzLCB0aGlzIGlzIHBy ZXR0eSBtdWNoIHdoYXQgSSBpbXBsZW1lbnRlZCBpbiB0aGlzIHBhdGNoIHNlcmllcy4KCkFjaywg dGhlbiBJIHByb2JhYmx5IHdhcyBzaG92ZWQgYSBiaXQgdG9vIG11Y2ggdG93YXJkcyBhIG1pc2lu dGVycHJldGF0aW9uIHRvCmVhcmx5IG9uLCB0aGF0IGNvdWxkIGhhdmUgYmVlbiBjZXJ0YWlubHkg YXZvaWRlZCBvbiBteSBzaWRlIHRvbywgYnV0IHdpdGgKbG90cyBvZiBjaGFuZ2Ugc2V0cyAiaW4g dGhlIGFpciIgcmVhZGluZyBzdWJqZWN0cyB0byBnZXQgdGhlIGJhc2ljIGJpZyBwaWN0dXJlCmJl Y29tZXMgaW5ldml0YWJsZSwgYXQgbGVhc3QgZm9yIG1lLiBFLmcuLCB0byBub3QganVzdCAiY29t cGxhaW4iIGFuZCBhY3R1YWxseQpwcm92aWRlIG9uZSBwb3NzaWJsZSBleGFtcGxlIHRoYXQgd291 bGQgaGF2ZSBoZWxwZWQgbWUgaGVyZToKCnRhc2sgY2FjaGU6IGxldmVyYWdlIGV4aXN0aW5nIGNh Y2hlIGZvciByZWR1Y2luZyBsb2FkIG9uIHVwZGF0ZXMgdXNpbmcgYSBGSUZPIG1heC1zaXplIHN0 cmF0ZWd5CgpCdXQgbm8gYmlnZ2llLCBJIGNvdWxkIGhhdmUgY2hlY2tlZCBtb3JlIGNsb3NlbHkg bXlzZWxmIGFuZCB3YXMgYSBiaXQgcHV0IG9mZgppbiBnZW5lcmFsIGJ5IHNvbWV0aGluZyB0aGF0 IGlzbid0IHJlYWxseSB5b3UgdG8gYmxhbWUgZm9yIChzZWUgYXQgdGhlIGVuZCkuIAoKPj4gSU1P IGl0IGZvciBwdXJnaW5nIG9sZGVyIHRhc2sgbG9nIGVudHJpZXMgdG8gYXZvaWQgaHVnZSBjYWNo ZSB3ZSBzaG91bGQgbWFpbmx5Cj4+IGZvY3VzIG9uIHRoZSBhZ2Ugb2YgZW50cmllcyBsaW1pdCwg ZS5nLiBtb3N0IG91ciBkYXNoYm9hcmRzIHdpbGwgZm9jdXMgb24gc2hvd2luZwo+PiB0aGUgdGFz ayByZXN1bHRzIHNpbmNlIFggaG91cnMsIHdoZXJlIGEgc2Vuc2libGUgbWluaW11bSBmb3IgWCBp cyBwcm9iYWJseSBhdAo+PiBsZWFzdCAyNCBob3VycywgcHJvYmFibHkgYmV0dGVyIG1vcmUgbGlr ZSAzIHRvIDUgZGF5cyB0byBiZSBhYmxlIHRvIChxdWlja2x5KQo+PiBzZWUgd2hhdCBoYXBwZW5l ZCBvdmVyIGEgd2Vla2VuZCwgbWF5YmUgd2l0aCBzb21lIGhvbGlkYXkgYXR0YWNoZWQgdG8gaXQu Cj4gCj4gU3VyZSwgaWYgeW91IHdhbnQsIEkgY2FuIGNoYW5nZSBpdCB0byB1c2UgdGltZS1iYXNl ZCBhcHByb2FjaCB3aXRoIGEgZ2VuZXJvdXMgbWF4aW11bSBzaXplLgo+IFNob3VsZCBiZSBwcmV0 dHkgc2ltcGxlIGNoYW5nZSB0byBpbmNvcnBvcmF0ZS4KCk9uZSBjb21wcm9taXNlIG1pZ2h0IGJl IHVzaW5nIHRpbWUgZm9yIHRoZSBtaW5pbXVtIGFuZCBzaXplIGZvciB0aGUgbWF4aW11bS4KRS5n Liwgc2F5IGtlZXAgYXQgbGVhc3Qgc29tZXRoaW5nIGxpa2UgNDhoIGluZGVwZW5kZW50IG9mIHNp emUsIGFmdGVyIHRoYXQKa2VlcCB1bnRpbCB0aGUgc2l6ZSBpcyBiaWdnZXIgdGhhbiBhIGZldyB0 ZW5zIG9mIE1pQjsgYnV0IGp1c3QgdG8gcHV0IG91dCBhbgppZGVhLgoKTW9zdCByZWR1Y2VzIHRh c2sgZW50cmllcyBzaG91bGQgYmUgYmVsb3cgMjU2IGJ5dGVzIChtb3JlIGxpa2UgMTI4LCBidXQg bGV0cwprZWVwIHNvbWUgaGVhZHJvb20pLCBhbmQgb25seSBoaWdoZXIgaWYgdGhlcmUncyBhIGhp Z2ggZmFpbHVyZSByYXRlLCBhcyB0aGVuCnRoZSBzdGF0ZSBlbnRyaWVzIHdpbGwgYmUgYmlnZ2Vy LiBXaXRoIGEgMTAgTWlCIGxpbWl0IHBlciByZW1vdGUgYW5kIGNvbnNpZGVyaW5nCmFuIGF2ZXJh Z2Ugb2YgMjU2IGJ5dGVzIHBlciB0YXNrIHdlIHdvdWxkIHN0aWxsIGJlIGFibGUgdG8gaG9sZCBh bGwgdGFza3MgZm9yCmEgd2hvbGUgd2VlayBpZiB0aGUgcmVtb3RlIChjbHVzdGVyKSB3b3VsZCBw cm9kdWNlIH40IHRhc2sgbG9ncyBwZXIgbWludXRlCigxMCAqIDJeMjAgLyAyNTYgLyAyNCAvIDYw IC8gNyA9IDQuMDYpIOKAkyBzbyB0aGF0IG1pZ2h0IGJlIGVub3VnaCBmb3Igc3RhcnRlcnMuCgpX LnIudC4gc3BsaXR0aW5nIHRoaXMgdXAgb3Igbm90IEkgY2FuIHNlZSBhZHZhbnRhZ2VzIGZvciBi b3RoLCBhbiBhbHRlcm5hdGl2ZQp0byBoYXZlIGEgc3BlY2lmaWMgZmlsZSBwZXIgcmVtb3RlIG1p Z2h0IGJlIHRvIGtlZXAgYWxsIGluIG9uZSBidXQgcm90YXRlIHRoZW0KcGVyIGRheTsgdGhhdCBt aWdodCBiZSB0aGVuIHVzZWZ1bCBmb3IgcHJ1bmluZyBvbGRlciBlbnRyaWVzIGZyb20gdGhlIGNh Y2hlLAplLmcuIGRlbGV0ZSBmaWxlcyBhcyBsb25nIGFzIHRoZSB0b3RhbCBzaXplIGlzIGFib3Zl IHRoZSBtYXhpbXVtIHNpemUgYnV0IHRoZXJlCmFyZSBzdGlsbCBhdCBsZWFzdCB0d28gZGF5cyAo Zm9yIGEgNDhoIG1pbmltdW0pIGFyZSBsZWZ0IG92ZXIuClRoaXMgd2F5IG9uZSBjb3VsZCBzdGls bCByZWxhdGl2ZWx5IGVhc2lseSBwcm9jZXNzIGVpdGhlciBnbG9iYWwgb3IgcGVyLXJlbW90ZQp0 YXNrIHN0YXRlLCBhcyBwYXNzaW5nIGEgdGltZSBsaW1pdCB0byB0aGUgYmFja2VuZCBpcyBwcm9i YWJseSB0aGUgbW9zdCB1c2VmdWwKaW4gcHJhY3RpY2UsIGFzIGl0IGNhbiBiZSBjbGVhcmx5IGNv bW11bmljYXRlZCB0byB0aGUgdXNlciBhbmQgc2hvdWxkIGJlIHVzZWZ1bApmb3Igd2hlbiBsb29r aW5nIGludG8gcHJvYmxlbXMgaW4gcHJhY3RpY2UsIHdoZXJlIGl0J3Mgbm9ybWFsbHkga25vd24g d2hlbgpyb3VnaGx5IGl0IGhhcHBlbmVkLCBidXQgbm90IGF0IHdoaWNoIGFic29sdXRlIGNvdW50 IG9mIHRhc2tzIGl0IGRpZC4KCkkgaG9wZSBJIG1hZGUgc29tZSBzZW5zZSBoZXJlLgoKPj4gWWVz LCBidXQgdGhlIG9yaWdpbmFsIGlkZWEgd291bGQgYWN0IHRoZSBzYW1lIGluIHRoaXMgcmVnYXJk IGlmIGl0IGRpZCBub3QKPj4gaGVkZ2UgYWdhaW5zdCB0aGluZ3MgdGhhdCBjYW5ub3QgcmVhbGx5 IGhhcHBlbiB3aXRob3V0IG1hbnVhbGx5IG1lc3NpbmcgYXJvdW5kCj4+IChhdCB3aGljaCBwb2lu dCBhbGwgYmV0cyBhcmUgb2ZmKTsgb3Igd2hhdCBhbSBJIG1pc3NpbmcgaGVyZT8gVG8gYmUgZmFp cjogSQo+PiBvbmx5IHNraW1tZWQgdGhlIHBhdGNoZXMgYW5kIGFza2VkIFdvbGZnYW5nIGEgYml0 IGFib3V0IGl0IGFzIGhlIGxvb2tlZCB0aHJvdWdoCj4+IHRoZW0gbW9yZSBjbG9zZWx5LCBzbyBJ IG1pZ2h0IGluZGVlZCBtaXNzIHNvbWV0aGluZyBvciBqdXN0IGJlIHNsaWdodGx5IGNvbmZ1c2Vk Cj4+IGFib3V0IHRoZSBwcmVzZW50YXRpb24gaGVyZS4KPiAKPiBUaGUgaW5pdGlhbCBhcHByb2Fj aCB3aGljaCB3YXMgbWVyZ2VkIHRvbyBzb29uIGhhZCBzb21lIGZsYXdzIHdoaWNoIHdlcmUga2lu ZGx5IHBvaW50ZWQgb3V0IHRvIG1lIG9mZi1saXN0Cj4gd2l0aCBzb21lIGlkZWFzIGZvciBpbXBy b3ZlbWVudC4KPiBFc3NlbnRpYWxseSwgdGhlIGtleSBwb2ludCBvZiAqdGhpcyogc2VyaWVzIGlz IHRvIHRyYW5zZm9ybSB0aGUgb3JpZ2luYWwgYXBwcm9hY2ggaW4gYSB3YXkgd2hpY2gKPiBkb2Vz IG5vdCAnaGVkZ2UgYWdhaW5zdCB0aGluZ3MgdGhhdCBjYW5ub3QgcmVhbGx5IGhhcHBlbicuCgpN YXliZSBJIHNob3VsZCBoYXZlIHVzZWQgcy9jYW5ub3QgcmVhbGx5IGhhcHBlbi93ZSBkbyBub3Qg Y2FyZSBmb3IgdGhhdCB0bwpoYXBwZW4sIGFzIHRoYXQgaWYgaXQgaGFwcGVucyBzb21lb25lIG1l c3NlZCBhcm91bmQgbWFudWFsbHkvIGZvciBjbGFyaXR5LApidXQgdGhhbmtzIGZvciBleHBsaWNp dGx5IHN0YXRpbmcgdGhhdCB3aXRoIHRoaXMgc2VyaWVzIHdlIGVmZmVjdGl2ZWx5IGdvCnRoYXQg cm91dGUgZWl0aGVyIHdheSBpdHMgY2FsbGVkLgoKPiAKPiBJJ20gc29ycnkgYWJvdXQgYW55IGNv bmZ1c2lvbiBoZXJlLiBJJ2xsIHRyeSB0byBwcm92aWRlIG1vcmUgY29udGV4dCBmcm9tIHRoZSBz dGFydCBpZiBzb21ldGhpbmcgc2ltaWxhcgo+IGhhcHBlbnMgYWdhaW4uIEFsc28sIEknbGwgdHJ5 IHRvIGNvbW11bmljYXRlIG15IHF1ZXN0aW9ucy9kb3VidHMgKGxpa2UgSSBzYWlkLCBJIHdhc24n dCBzdXJlIGlmIHRoZSBpbml0aWFsCj4gYXBwcm9hY2ggZnJvbSB0aGUgUkZDIHdhcyBnb29kIG9y IG5vdCwgaGVuY2UgdGhlIFJGQyBpbiB0aGUgZmlyc3QgcGxhY2UpIG1vcmUgb3Blbmx5IGlmIEkg cG9zdCBhbiBSRkMgaW4gYQo+IHNpbWlsYXIgd2F5IGFnYWluLCBlLmcuIGluIGEgY292ZXIgbGV0 dGVyLCB0byBtYWtlIHN1cmUgdGhhdCBhIHByb3Blciwgb24tbGlzdCBkaXNjdXNzaW9uIHRha2Vz IHBsYWNlIGJlZm9yZQo+IGFueXRoaW5nIGlzIG1lcmdlZC4KClRoYW5rIHlvdSBmb3IgeW91ciBl eHBsYW5hdGlvbnMgaGVyZSwganVzdCB0byBzdW1tYXJpemUvY2xhcmlmeToKSSB3YXMgbW9zdGx5 IHB1dCBhIGJpdCBvZmYgd2l0aCBob3cgaXQgd2FzIG1lcmdlZCB3aXRob3V0IGFueSBoaW50IGFi b3V0CmZvbGxvdy11cCBwb3RlbnRpYWwgb24gdGhlIGxpc3QgKGFuZCB0aGF0IHBhdHRlcm4gd2Fz IHJlcGVhdGVkIGFscmVhZHkgYQpmZXcgdGltZXMpLCB5b3UgYXJlIGNlcnRhaW5seSBub3QgdG8g YmxhbWUgZm9yIHRoYXQsIGFuZCB3aGlsZSBhbm90aGVyCnByZXNlbnRhdGlvbiBvZiB0aGlzIHNl cmllcyBtaWdodCBoYXZlIGhlbHBlZCwgdGhhdCBwYXJ0IHJlYWxseSB3YXNuJ3QgdGhlCnByb2Js ZW0gZm9yIG1lLiBBbmQgd2hpbGUgaXQgbWlnaHQgYmUgYSBiaXQgbXVjaCB0byBhc2sgZm9yLCBz byBtZW50aW9uaW5nCml0IG1haW5seSBmb3IgdGhlIHNha2Ugb2YgY29tcGxldGVuZXNzOiBJJ2Qg YXBwcmVjaWF0ZSBhIHN1bW1hcnkgaW5kZXBlbmRlbnQKb2Ygd2hpY2ggc2lkZSAob2ZmLWxpc3Qg cmV2aWV3ZXIgb3IgYXV0aG9yKSBpdCBjb21lcyBmcm9tIGZvciBzdWNoIG9mZi1saXN0CmRpc2N1 c3Npb24g4oCTIEkgZG8gbm90IHdhbnQgdG8gZGlzY291cmFnZSBvZmYtbGlzdCB0YWxrcywgdGhl eSBhcmUgaW5kZWVkCm9mdGVuIHZlcnkgdXNlZnVsIGFuZCBtb3JlIGVmZmljaWVudCB0byBoYXZl LCBlc3BlY2lhbGx5IGFzIGxvbmcgYXMgdGhlCnRyYXZlbCB0aW1lIGJldHdlZW4gb2ZmaWNlcyBp cyBpbiB0aGUgc2luZ2xlLWRpZ2l0IG1pbnV0ZSByYW5nZTsgYW5kIGlmIGFsbAppbnZvbHZlZCB0 YWtlIHBhcnQgb2YgdGhhdCB0aGUgc3VtbWFyeSAobWFpbCkgb2YgdGhlIGRpc2N1c3Npb24gbWln aHQgbm90CmJlIG5lZWRlZCwgYnV0IHByb2JhYmx5IHN0aWxsIHdvdWxkbid0IGh1cnQuIEkgaG9w ZSBJIGdvdCBlbm91Z2ggbnVhbmNlIGluCnRoZXJlIG5vdy4KCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwZG0tZGV2ZWwgbWFpbGluZyBsaXN0CnBkbS1k ZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4v bWFpbG1hbi9saXN0aW5mby9wZG0tZGV2ZWwK