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 1sN3zI-006WtD-5Z for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Jun 2024 05:17:32 +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 1sN3zG-000m5M-Gt for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Jun 2024 05:17: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.94.2) (envelope-from ) id 1sN3zG-000m5B-7C for pgsql-hackers@lists.postgresql.org; Fri, 28 Jun 2024 05:17:30 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sN3zE-003wD1-Bv for pgsql-hackers@postgresql.org; Fri, 28 Jun 2024 05:17:29 +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 45S5HM9K1914893; Fri, 28 Jun 2024 01:17:22 -0400 From: Tom Lane To: Noah Misch cc: Robert Haas , pgsql-hackers@postgresql.org, Smolkin Grigory , Michael Paquier Subject: Re: race condition in pg_class In-reply-to: <20240628051353.a0.nmisch@google.com> References: <20231027214946.79.nmisch@google.com> <1617596.1698446455@sss.pgh.pa.us> <20231027232612.99.nmisch@google.com> <20231102030915.d3.nmisch@google.com> <20240512232923.aa.nmisch@google.com> <20240605181706.fe.nmisch@google.com> <20240611024525.9f.nmisch@google.com> <20240614003549.c2.nmisch@google.com> <20240621212842.98.nmisch@google.com> <20240628051353.a0.nmisch@google.com> Comments: In-reply-to Noah Misch message dated "Thu, 27 Jun 2024 22:13:53 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1914891.1719551842.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Fri, 28 Jun 2024 01:17:22 -0400 Message-ID: <1914892.1719551842@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Noah Misch writes: > Pushed. Buildfarm member prion is failing the new inplace-inval.spec, a= lmost > surely because prion uses -DCATCACHE_FORCE_RELEASE and inplace-inval.spe= c is > testing an extant failure to inval a cache entry. Naturally, inexorable= inval > masks the extant bug. Ideally, I'd just skip the test under any kind of= cache > clobber option. I don't know a pleasant way to do that, so these are > known-feasible things I'm considering: > 1. Neutralize the test in all branches, probably by having it just not r= eport > the final answer. Undo in the later fix patch. > 2. v14+ has pg_backend_memory_contexts. In the test, run some plpgsql t= hat > uses heuristics on that to deduce whether caches are getting released= . > Have a separate expected output for the cache-release scenario. Perh= aps > also have the test treat installcheck like cache-release, since > installcheck could experience sinval reset with similar consequences. > Neutralize the test in v12 & v13. > 3. Add a test module with a C function that reports whether any kind of = cache > clobber is active. Call it in this test. Have a separate expected o= utput > for the cache-release scenario. > Preferences or other ideas? I'm waffling between (1) and (2). I'll giv= e it > more thought over the next day. I'd just go for (1). We were doing fine without this test case. I can't see expending effort towards hiding its result rather than actually fixing anything. regards, tom lane