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 1v9qVq-009Tvw-Dc for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Oct 2025 19:53:17 +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 1v9qVp-004qPt-B7 for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Oct 2025 19:53:16 +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 1v9qVp-004qPA-1D for pgsql-hackers@lists.postgresql.org; Fri, 17 Oct 2025 19:53:16 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v9qVm-002LFw-15 for pgsql-hackers@postgresql.org; Fri, 17 Oct 2025 19:53:15 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 59HJr97V1730703; Fri, 17 Oct 2025 15:53:09 -0400 From: Tom Lane To: Nathan Bossart cc: Peter Geoghegan , pgsql-hackers@postgresql.org, david@justatheory.com, Andrew Dunstan Subject: Re: abi-compliance-check failure due to recent changes to pg_{clear,restore}_{attribute,relation}_stats() In-reply-to: References: <1713509.1760721320@sss.pgh.pa.us> <1723302.1760726712@sss.pgh.pa.us> Comments: In-reply-to Nathan Bossart message dated "Fri, 17 Oct 2025 14:39:15 -0500" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1730701.1760730789.1@sss.pgh.pa.us> Date: Fri, 17 Oct 2025 15:53:09 -0400 Message-ID: <1730702.1760730789@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Nathan Bossart writes: > On Fri, Oct 17, 2025 at 03:33:28PM -0400, Peter Geoghegan wrote: >> In practice I think that it would be up to the person writing the next >> suppression to verify that there were no unrelated changes in the >> interim between their new blessed/suppression commit and the prior >> one. That doesn't seem super onerous to me, given that even false >> positives don't seem to be all that common with >> abi-compliance-checker. > Agreed. Even if someone forgets to do that validation, the chances of > missing something seem low. I don't see a race condition here. What would happen is we make some commit, realizing either at the time or later that it involves an ABI break. We verify via some later buildfarm run that the break is as-expected (ie the commit doesn't introduce any unwanted changes, nor is there anything hanging around from some older commit). Then we push an update to the .abi_reference file that points at that commit, and the buildfarm starts comparing ABI of branch tip to that commit instead of whatever was the reference commit before. No later activity breaks the conclusion that we were okay with the ABI that that commit creates, nor can any earlier commit cause problems so long as we did our due diligence in checking the ABI-break reports. In theory, if two ABI-breaking commits go in so close together that there was no ABI-checking buildfarm run in between, we might have difficulty untangling their effects. That doesn't seem very likely in practice, and even if it happens, so what? Either we're good with the ABI-break report when we see it, or we're not. regards, tom lane