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.96) (envelope-from ) id 1vMQ7r-009I5Y-1e for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Nov 2025 12:20:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vMQ7q-007FXM-0m for pgsql-hackers@arkaria.postgresql.org; Fri, 21 Nov 2025 12:20:30 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vMQ4h-007CgS-37 for pgsql-hackers@lists.postgresql.org; Fri, 21 Nov 2025 12:17:16 +0000 Received: from relay3-d.mail.gandi.net ([217.70.183.195]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vMQ4f-000iaW-1t for pgsql-hackers@lists.postgresql.org; Fri, 21 Nov 2025 12:17:15 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id 759291FCFB; Fri, 21 Nov 2025 12:17:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vondra.me; s=gm1; t=1763727431; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fVJ+ZOw0wYiBjvWvyNgkvX2eCLL+PXLBZ4QiG+oAy68=; b=E1Y4BHScRDY2e5Y+Z2/JqVlxnTaRe+pgczf1yo04NgcrxTar6BHI5y69A0DvdCK7gASwTd OumVbQ0HcRYc6svg+AxKVokW4X8BNq/udowpp9hEuyTCzzpvr5LYGxnQXJlKR2vPm0uP2i 4dpl9YQc5TPGlM1mRm+vp8r2uK9iRvzGu/bfcNIXvvgf7H3qYKZGYnBfgOvUMUDgNmFeKD MGwW98xY8Qp/xIRMuoN/i8nE3eA6OL3Cs7WyLLWlROH+c4vRAeKHTUjDFQHaF4x4/cdxG/ LIC/sVhXUocDGhK7572jEsW4rvzNuYh7YVdHZ+f7B+62YlIfL+MDbYKYfHk6Bw== Message-ID: Date: Fri, 21 Nov 2025 13:17:09 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Changing the state of data checksums in a running cluster To: Andreas Karlsson , Daniel Gustafsson Cc: Bernd Helmle , Michael Paquier , Michael Banck , PostgreSQL Hackers References: <8B317721-1CB7-4F82-B4DA-6B15AB1725D1@yesql.se> <2CD83EC2-C971-4440-89F7-BCBAE375F908@yesql.se> <830e4296-dbb7-4b5c-be51-64732591f6c8@vondra.me> <17C1D2E0-C12D-40E2-B4B8-B9CCECA45A88@yesql.se> <47d946a3-c1c7-421d-a2b1-6a51cc329e6c@vondra.me> <02DCCE05-537F-4BDE-9C0B-D4935021BBBF@yesql.se> <0e6ce93e-57e4-43ed-b410-66876c125ffb@vondra.me> <7357A519-3391-4F07-BC69-5C9C2B120792@yesql.se> <25c734d1-18bb-4167-bb31-9afa736ea886@vondra.me> <3e67160c-3676-4419-b635-1fdb80dc128e@vondra.me> <67726BDA-2F21-4D93-B01F-FA68212ED6F0@yesql.se> <9CA2495B-2D6C-4308-97EF-A12CCCAA753E@yesql.se> <9f381b29-c025-446c-8fa2-8185c5606a4f@proxel.se> <3294448e-53a7-4bc1-9d11-72cd1a340dd9@vondra.me> <51b3fa7b-2cf3-4306-bf1c-001aec711f4f@proxel.se> Content-Language: en-US From: Tomas Vondra In-Reply-To: <51b3fa7b-2cf3-4306-bf1c-001aec711f4f@proxel.se> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvvdelleegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttddvjeenucfhrhhomhepvfhomhgrshcugghonhgurhgruceothhomhgrshesvhhonhgurhgrrdhmvgeqnecuggftrfgrthhtvghrnhepledugeeikefglefhgfffuedvleetteevgefhvdeikeefudduuddvhfevudefhfevnecukfhppeekiedrgeelrddvfedtrddvtdeinecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepkeeirdegledrvdeftddrvddtiedphhgvlhhopegluddtrddufeejrddtrddvngdpmhgrihhlfhhrohhmpehtohhmrghssehvohhnughrrgdrmhgvpdhnsggprhgtphhtthhopeeipdhrtghpthhtoheprghnughrvggrshesphhrohigvghlrdhsvgdprhgtphhtthhopegurghnihgvlheshigvshhqlhdrshgvpdhrtghpthhtohepmhgrihhlihhnghhssehoohhpshifrghrvgdruggvpdhrtghpthhtohepmhhitghhrggvlhesphgrqhhuihgvrhdrgiihiidprhgtphhtthhopehmsggrnhgtkhesghhmgidrnhgvthdprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrhhssehlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrgh X-GND-Sasl: tomas@vondra.me List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 11/21/25 01:44, Andreas Karlsson wrote: > On 11/20/25 11:34 AM, Tomas Vondra wrote: >> On 11/19/25 22:03, Andreas Karlsson wrote: >>> Hi, >>> >>> I have been following these discussions but not read the patch in >>> detail. >>> >>> This patch makes me worried especially with the new issues recently >>> uncovered. This was already a quite big patch and to fix these issues it >>> will likely have to become even bigger and given how this would become a >>> very rarely stressed code paths I wonder if we can actually ever become >>> confident that the patch works in all edge cases. >>> >>> Something like this need to be easy to understand for us to have any >>> hope at all to be comfortable in the correctness. Can we actually do >>> that? >>> >> >> How's this different from any other complex patch? We get more familiar >> with the problem during review, identify issues, improve the patch to >> address them. And then again and again. > > The difference I see is in how rarely anyone actually switches checksum > state in a production database, especially now that we enabled them by > default. A complex and rarely stressed code path is a minefield. > True. Hence the stress testing I've been doing - and indeed, that made us discover the various issues reported in this thread. Still, isn't that similar to error paths in various other patches? Those also tend to be rarely exercised in practice. I think the right way to address that is more testing. Of course, there's a difference between "regular bugs" and "design problems". Some of the issues are more about the design/architecture not considering something important. I don't know if / when this will be ready for commit. Maybe never, who knows. I prefer going step by step. We know about a couple issues, we need to figure out what to do about those. Then we can reconsider. FWIW I'm not sure the number of people currently enabling checksums on production databases is a good metric of how important the patch is. Maybe more people would like to do that, but can't accept the downtime. regards -- Tomas Vondra