Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rtXSi-00FTJY-3A for pgsql-hackers@arkaria.postgresql.org; Sun, 07 Apr 2024 18:41:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rtXSh-00AcAf-1J for pgsql-hackers@arkaria.postgresql.org; Sun, 07 Apr 2024 18:41:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rtXSf-00AcAW-RN for pgsql-hackers@lists.postgresql.org; Sun, 07 Apr 2024 18:41:50 +0000 Received: from fhigh3-smtp.messagingengine.com ([103.168.172.154]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rtXSc-001h3T-PJ for pgsql-hackers@postgresql.org; Sun, 07 Apr 2024 18:41:48 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailfhigh.nyi.internal (Postfix) with ESMTP id D60A7114009F; Sun, 7 Apr 2024 14:41:44 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute6.internal (MEProxy); Sun, 07 Apr 2024 14:41:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1712515304; x= 1712601704; bh=XbPSoUmtTPKMDL2QDC3gWO7P4ZJrP1Hqorb98dbOVRk=; b=P pi5VLGABkz9TeMjiKiDwZlIJron/kWFzPAHTAtCyGHdc38tR9z5Zfc4YMIX3bKZU o8rK4GbeEncdWdM/6fMA+Dx7AMGGnx4E1xNTw5BxenkdDCwVFWtmjkp/HgX141+3 GE6jTuqfG+YDILMvSmK+Un6HamY7IDkb58O6yCqqiCQKMWabUx7JaMqAAZpxsdmf ggFp2O+2uiXTpq3kRaWHIlcAEPbeUDtAHfTyTpI7zZo1hW/SwexBHDZl+3/x8S1G PB7Lr9xaUkDVPWw8x0V7MexTE1pzng0kFR63CHVpCOEjA8dyiBP85ayLQFY1uMR2 RWoFpUYxb6y0+eoLrfrFg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudeggedguddvjecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpeffhffvvefukfggtggugfgjsehtkeertddttdejnecuhfhrohhmpeetlhhv rghrohcujfgvrhhrvghrrgcuoegrlhhvhhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorh hgqeenucggtffrrghtthgvrhhnpedvkedtffduffdtffffheffhfejjefhgfeiueeukeej keffgfdufffhudffffeuveenucffohhmrghinhepvghnthgvrhhprhhishgvuggsrdgtoh hmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprghl vhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh X-ME-Proxy: Feedback-ID: ia2694551:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 7 Apr 2024 14:41:43 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alvh.no-ip.org; s=schmee; t=1712515301; bh=9nCSQEF3B87mIPngxVGPyqzf196roZKxZgEkOFOG3oU=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=RMH0CSwtewuJeX22vvjBmqcVmvBcyc5x1YYDiOMjEc3oZJyr66suplLUu1UJ8+eci xv/zb5PMUQEPq4g1Oz9Q9Sp0qTG5lNxDXFOsp+76wqif/JmvMuZoBTucQyZJ+yh/ek kvgI7lHuEvf7e2g3XOYW77SEk8aoOmXakIvB9Ke40rl8/aDsREFHRHw7y491pGxqda 8H7FFmNmdT0a1O4ZFLBy4BjERGViLcIlqDtAUKXFIF/idsg1eDWx+OevJmHg7h0d5/ 2Y1nzDGxfr+ly5pW1pDNDKdsF+jo59j6H7kT8p3OFLFxyQRqtwlXzb9+Qqo79FvkU/ k1c8pcy9TiEjw== Received: by schmee.alvh.no-ip.org (Postfix, from userid 1000) id 09E5346F; Sun, 7 Apr 2024 20:41:41 +0200 (CEST) Date: Sun, 7 Apr 2024 20:41:41 +0200 From: Alvaro Herrera To: "Andrey M. Borodin" Cc: vignesh C , Andrew Borodin , i.lazarev@postgrespro.ru, Yura Sokolov , Andres Freund , Thomas Munro , Gilles Darold , Tomas Vondra , Tomas Vondra , Alexander Korotkov , Anastasia Lubennikova , Daniel Gustafsson , Kyotaro Horiguchi , pgsql-hackers mailing list Subject: Re: MultiXact\SLRU buffers configuration Message-ID: <202404071841.oxm5ojuahd2q@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <0925F9A9-4D53-4B27-A87E-3D83A757B0E0@yandex-team.ru> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2024-Feb-03, Andrey M. Borodin wrote: > Here's the test draft. This test reliably reproduces sleep on CV when waiting next multixact to be filled into "members" SLRU. > Cost of having this test: > 1. We need a new injection point type "wait" (in addition to "error" and "notice"). It cannot be avoided, because we need to sync at least 3 processed to observe condition we want. > 2. We need new way to declare injection point that can happen inside critical section. I've called it "prepared injection point". > > Complexity of having this test is higher than complexity of CV-sleep patch itself. Do we want it? If so I can produce cleaner version, currently all multixact tests are int injection_points test module. Well, it would be nice to have *some* test, but as you say it is way more complex than the thing being tested, and it zooms in on the functioning of the multixact creation in insane quantum-physics ways ... to the point that you can no longer trust that multixact works the same way with the test than without it. So what I did is manually run other tests (pgbench) to verify that the corner case in multixact creation is being handled correctly, and pushed the patch after a few corrections, in particular so that it would follow the CV sleeping protocol a little more closely to what the CV documentation suggests, which is not at all what the patch did. I also fixed a few comments that had been neglected and changed the name and description of the CV in the docs. Now, maybe we can still add the test later, but it needs a rebase. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ “Cuando no hay humildad las personas se degradan” (A. Christie)