Re: abi-compliance-check failure due to recent changes to pg_{clear,restore}_{attribute,relation}_stats()
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Geoghegan <pg@bowt.ie>, pgsql-hackers@postgresql.org, david@justatheory.com, Andrew Dunstan <andrew@dunslane.net>
Date: 2025-10-17T20:01:53Z
Lists: pgsql-hackers
On Fri, Oct 17, 2025 at 03:53:09PM -0400, Tom Lane wrote: > 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. Ah, I was thinking of a more proactive approach (e.g., I commit something that I know introduces ABI breakage, and then I immediately update the ABI reference file in the next commit). I like the idea of simply reacting to the reports and using that as an opportunity to verify it's what we expect. -- nathan
Commits
-
Add commit 24f6c1bd4 to v17 .abi-compliance-history.
- 5c659da980e1 17.7 landed
-
Add .abi-compliance-history to back-branches.
- eaf73340cd46 16.11 landed
- d9c5e7129d2b 15.15 landed
- a91f2d822522 17.7 landed
- 7d47278933f4 13.23 landed
- 58ba7e5ebfdf 14.20 landed
-
Add reminder to create .abi-compliance-history.
- b97d8d843a2d 19 (unreleased) landed
-
Update .abi-compliance-history file.
- 93fb76ca4e69 18.1 landed
-
Add .abi-compliance-history to v18 branch.
- a72f7d97bea9 18.1 landed
-
Fix thinko in commit 7d129ba54.
- 399a9e04e549 18.1 cited
-
Fix lookups in pg_{clear,restore}_{attribute,relation}_stats().
- c8af5019bee5 18.1 cited
- 688dc6299a5b 19 (unreleased) cited
-
Add defenses against unexpected changes in the NodeTag enum list.
- eea9fa9b250f 16.0 cited