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 1v9qeL-009WZY-69 for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Oct 2025 20:02:04 +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 1v9qeJ-004tbl-RV for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Oct 2025 20:02:02 +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.94.2) (envelope-from ) id 1v9qeJ-004tbd-IB for pgsql-hackers@lists.postgresql.org; Fri, 17 Oct 2025 20:02:02 +0000 Received: from mail-io1-xd31.google.com ([2607:f8b0:4864:20::d31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v9qeG-002mE7-1O for pgsql-hackers@postgresql.org; Fri, 17 Oct 2025 20:02:02 +0000 Received: by mail-io1-xd31.google.com with SMTP id ca18e2360f4ac-92aee734485so89002039f.1 for ; Fri, 17 Oct 2025 13:01:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760731317; x=1761336117; darn=postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=D2QGtT8rUAHDWcSnofOExX2zVKZdWGYUbLW3zN1XkJw=; b=B6Oz1B6jnorQh9vcstO4+wwhQrXjtPwHjiy+Y0ddKZ7A/tloK3OmcEpJjh1uaW0FQO tvaO1Mr5GHx+E4wuMPlPfLCaiqUz7+6IsBsUTRkhtehbwvpzFxaw4Tecoj6z6YTK5Wie gApTl8YmBrcPwC64tXF6itfRqHHYY5sJAa8113Fc4dpRAdvlp9euWTfvLbUZVnopl6YX /FfOB6j9NC95J8bUpAcPLtkbwjP8EB3XVNRnxy+sDcNcbiAKuG01ROLRJ96e1ZeMKZbp EhgNsw+sUEjFDrJaBhC2QfdlkJVfbWfOiYGopdsqr+5tI5ar1qd7APvMZvMqqVvorIka ILTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760731317; x=1761336117; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=D2QGtT8rUAHDWcSnofOExX2zVKZdWGYUbLW3zN1XkJw=; b=exouh7X44og2zS++lvdPuYORGPPyrVbEHpvgJ8O8xeSV3g9vSXWO+NbWUB7DdaXOSz DrLspdGPlim57H28/8TLrXPPHW/E0vDgBAhcBiofWp4SA2At46+yCN2ddRwt2oWqJbDr 3I70LAeKVuTw9DHaiWes9YuGQ+h9KrTwvrkqkQ0T5qvA4ZKWYhDaxHR8zwL0b1p4r41o KeLV+IqJ1OSd18agmyUwfC6SlIWn3zacQ5kWsu2t4PJGX4LYABTuZLewBFdoj+V0YWf3 FstdrpNm5SaGDP66INPCazX4WAvxgydUeHTQ+Ks/0m9NosWe44I4lsgI1OIz6fwpF/Ki BEBg== X-Forwarded-Encrypted: i=1; AJvYcCVjOD93atB1nDNVs93723F62v9GWqGp5y/ujsc7GWyuKZEmxhROkzhRJHEy+cGTUuEvRwoPISwVp64t3Frt@postgresql.org X-Gm-Message-State: AOJu0YzzoeBrjUa8bqzzaw4lRv+TcGRSfL7Kgl0h0oFw20PULjI2GnY/ x2y4VGFsC3x9J7+GThT3HnazGPhkQguF6TKipSE/0ZFLXoSBBArQlTd9 X-Gm-Gg: ASbGncvYN80WxovN7LMV50IR8jwIu/hxNRp1K7xU50FQm82QhJIy6kwHn3QGiiwJ+4d gBql8cvCrwDCjRHMcZT8ZjFCbvdZokVxUCI++VjkmVHoTVgyf5eZXayFHgS4m2vfc6CBKtJjitQ ghNK8Ju0nRGbFGtt0FPAoddrBUuEIlko7IAMwg8wymdDKffqtPJ1go4gmsEP0qIbPWUHvH2XTjq ToWnqGkcy8AodaREk/rjRkYT55PuylA9WGxJfesF4ARU3GkxqZgrEZYTBRrd6mrAn9kzak3XQVO SPvep8JxjhAdz2dIiMvqW020ozE3b2nHZ9w52nXeS46uQOZwm+Xf+h+vAQNGxiyx0EF4ZgKoIrm /guNKxS1R0c1Dybqie6SsCsPRwYVv9HI3p/ALgaqKWY0Jh/PlOivRVtJ5DZOO2xQC4fCFD8Lr9M S6ncDVBshOLqg8lfGg+Ry93lGzEdCpzC2p/VFXCH0U3pYKkgSgqfKqfU3rdPeAj1W/2w/+k9NOI hf9f8Q5rPJzpLE= X-Google-Smtp-Source: AGHT+IHrOda18fn6l3Vx9JSS2FWCnsXv35xQC0K2v32oXDMqV+ISEIbVCADdaFQnn/R6wz2K1DWOrQ== X-Received: by 2002:a05:6602:29d2:b0:93e:8557:5b07 with SMTP id ca18e2360f4ac-93e85575d4amr267175239f.7.1760731316517; Fri, 17 Oct 2025 13:01:56 -0700 (PDT) Received: from nathan (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id ca18e2360f4ac-93e866424a3sm20127439f.9.2025.10.17.13.01.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Oct 2025 13:01:55 -0700 (PDT) Date: Fri, 17 Oct 2025 15:01:53 -0500 From: Nathan Bossart To: Tom Lane 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() Message-ID: References: <1713509.1760721320@sss.pgh.pa.us> <1723302.1760726712@sss.pgh.pa.us> <1730702.1760730789@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1730702.1760730789@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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