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 1vs4eJ-004M5C-2h for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Feb 2026 19:52:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vs4eI-005KhG-1B for pgsql-hackers@arkaria.postgresql.org; Mon, 16 Feb 2026 19:52:50 +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 1vs4eH-005Kh6-2C for pgsql-hackers@lists.postgresql.org; Mon, 16 Feb 2026 19:52:50 +0000 Received: from flow-b5-smtp.messagingengine.com ([202.12.124.140]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vs4eF-000000014jd-0TPA for pgsql-hackers@postgresql.org; Mon, 16 Feb 2026 19:52:49 +0000 Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41]) by mailflow.stl.internal (Postfix) with ESMTP id 19E271300CA6; Mon, 16 Feb 2026 14:52:45 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-01.internal (MEProxy); Mon, 16 Feb 2026 14:52:45 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1771271564; x=1771278764; bh=7jByM3EXUk9HX9z1P/0L8rtnI0RPFmcI 7g+qLNih12g=; b=tAVn5ggRoC1Y0L31RBbDB9B+vVGz8wezutF5HcUIkdS1fkSK XsBmTmkUpdAuf61dmIHGDxHY5WOmPReAanLivCYkmqkZgNfeHABTIwR55+97oQe3 aobsu1zLDFGlW069mFqC7OuaSRYCnpS7b1oauivO5PZ+qHfkRl6ZxzONpEdL9+5c gP8Q2bGJybRu2J7Kb8bwHkGXKQL0Pa8ZVW6SzOqW7twzNzFxmaK38/j9qLCUYPB9 cr6RHFqQ9ROX0BEnS7n0yNQRzCWtTc5M8D+xxC79WbB1D7tCYPGIj26qpPESkQyY bWsHfB0Dkx9y5m1+6y5UPXX65Ddo+R924LBUcg== 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 :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1771271564; x= 1771278764; bh=7jByM3EXUk9HX9z1P/0L8rtnI0RPFmcI7g+qLNih12g=; b=I liWvNXuKjePRVoyVhJqOIQDDtdjDIz5FICVkstp4YNSwWTfLuSQre267/ZjHj3EJ 7rOaNkD4VyWeRQYz4OTPdInz159n8kGkkXLmQxNx3NXO5Rv8pMKeqMZkO/EawRKD C5jBTjhpGCD0CqykFoANbxnJGBP0QJM99oZNs8VfS39VRTuJq98QR/7qNNladAzv bua3hLlDtxHAJM4ZiDO+JaNEdpUqzmkP1fzZP199WQ1UPa/3mkEMQncZbnnBdHKG 6+6upiJODQ3r+oKy3gt5fzvs5X0IhGjBpVhZSH8cDN+ZFMcx6bTTE1Udwv0713Y6 mwdo/ECsw5VYfLE26ECEQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvudejjeeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdejnecuhfhrohhmpefrvghtvghr ucfgihhsvghnthhrrghuthcuoehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgheqne cuggftrfgrthhtvghrnhepjefhveehtdetgfffhffhfeefgffghffflefgieeuueekhedv hedvfeehffdvfeeunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepphgvthgvrhesvghishgvnhhtrhgruhhtrdhorhhgpdhnsggprhgtphhtthho peehpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehnohgrhheslhgvrggusghorg htrdgtohhmpdhrtghpthhtohepmhgrrhhkrdguihhlghgvrhesvghnthgvrhhprhhishgv uggsrdgtohhmpdhrtghpthhtohepnhhithhinhhmohhtihgrnhhisehgohhoghhlvgdrtg homhdprhgtphhtthhopegrnhgurhgvshesrghnrghrrgiivghlrdguvgdprhgtphhtthho pehpghhsqhhlqdhhrggtkhgvrhhssehpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 16 Feb 2026 14:52:43 -0500 (EST) Message-ID: Date: Mon, 16 Feb 2026 20:52:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Inval reliability, especially for inplace updates To: Noah Misch , Mark Dilger Cc: Nitin Motiani , Andres Freund , pgsql-hackers@postgresql.org References: <20240831010711.67.nmisch@google.com> <20240930193350.04.nmisch@google.com> <20241013004511.9c.nmisch@google.com> <20241024025357.a8.nmisch@google.com> <20260121174720.71.noahmisch@microsoft.com> <20260122174250.bf@rfd.leadboat.com> Content-Language: en-US From: Peter Eisentraut In-Reply-To: <20260122174250.bf@rfd.leadboat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 22.01.26 18:42, Noah Misch wrote: > On Thu, Jan 22, 2026 at 07:53:21AM -0800, Mark Dilger wrote: >> On Wed, Jan 21, 2026 at 9:47 AM Noah Misch wrote: >>> Based on your experience, I probably should encourage packagers to do an >>> early check of the packages they build, especially if they build tableam >>> modules not found in PGXN. How do you see it? >> >> I don't know what you mean by "early". 18.2 hasn't stamped yet. 18.1 >> doesn't have the change. So, I'd say that I'm building pretty early, and I >> noticed the change will be coming in 18.2. > > I'll probably say: > > If you've tested your packaging builds against REL_17_STABLE and > REL_18_STABLE since 2025-12-16 *or* you package only modules present in > PGXN, you can stop reading. > > Mark Dilger reported non-PGXN tableam modules that needed changes to cope > with back-patched signature changes in functions > CacheInvalidateHeapTupleInplace() (commit 06b030e) and > PrepareToInvalidateCacheTuple() (commit 2e58802). Consider trying a rebuild > against REL_17_STABLE and REL_18_STABLE now, so you learn about any similar > need for changes in your modules. It has been requested to revert these, because they are an ABI and API break, and they are unnecessary in the backbranches. Could we do this please? >> Oh, I don't mean to question the overall purpose of the patch. I was >> questioning whether it needed to have breaking changes which are mere "code >> cleanup". The change to CacheInvalidateHeapTupleInplace to remove the >> unused third argument seemed inappropriate for backpatching, so I spoke up >> before 18.2 is stamped. Doing this one piece of code cleanup in the back >> branches will cause a lot of packaging pain for no real benefit. > > Is the source code for one of these modules published? I'm not picturing how > a module could need a CacheInvalidateHeapTupleInplace() call, so your code may > illuminate that for me. > > If you upload one of these modules to PGXN, my scans before future ABI breaks > will find its calls and will block avoidable ABI breaks like the > CacheInvalidateHeapTupleInplace() one. Since the heap AM calls this, it doesn't seem surprising that another table AM would call it too.