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 1sN3w0-006WWj-7V for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Jun 2024 05:14:08 +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 1sN3vy-000iou-JH for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Jun 2024 05:14:06 +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 1sN3vy-000ilr-0N for pgsql-hackers@lists.postgresql.org; Fri, 28 Jun 2024 05:14:06 +0000 Received: from mail-oa1-x2a.google.com ([2001:4860:4864:20::2a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sN3vv-003wBS-Sq for pgsql-hackers@postgresql.org; Fri, 28 Jun 2024 05:14:05 +0000 Received: by mail-oa1-x2a.google.com with SMTP id 586e51a60fabf-25d57957b37so155541fac.2 for ; Thu, 27 Jun 2024 22:14:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leadboat.com; s=google; t=1719551641; x=1720156441; darn=postgresql.org; h=user-agent: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=jB/pGkrAG97IP5AjaSuk8DzLViM6KYy8OHTNOMXLIuA=; b=Ss+MZIY6vScmWggsrlCYN3rdMbS9/kq3qSWD0Wz/FOxDkKuZUnmIBYCla3MxaNhFUV gA5pSUferlRKXNtxCIp0lqmojPc7kwkGqBr5835uoYpWORmEpPDV8zIKecu/iHr4kTX7 pFBLZw8p4XeYwBGCpSL1JY2mP9eHkQATsQ7Xs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719551641; x=1720156441; h=user-agent: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=jB/pGkrAG97IP5AjaSuk8DzLViM6KYy8OHTNOMXLIuA=; b=M8GlUK7U7h8X5PlhVM2Jo/B0ul7h86vi5TIoIlubE5A1ZPcgmMbu0NF6I/YDedTxoQ dSnHaNgDgOIPBZs40CGjk/He+ntn1NHeLVMFIOHpNnvnRguY6bUtAh3gvo4p6vQf0n3/ MmeVUSUdjbFTeEeNS3DNx+F/1J+2FwtEowvdiw9LlAskpQPspqoj1BEpHXuWob7ecXIv f9JcqQBBc0fKrpaCx5Vt+XbPjkH9jqXW7QogMs4rS8dUL4tH3BZhV6ndFlIk42HrBE+I PpHAlZvfXz5t7OVoYAtEMQAO6Nx89tVFQMyeRbalC+35ZWSA6B5bh7JF6tsEyaKXd1L/ xd8w== X-Gm-Message-State: AOJu0YwDCqA8NBK8di3+UnLCLLcdwo6fLvkC58QXvtUw6gOVPvuGdV5T PMNy/FyehQpJm09iadgNa9Uean8/BoLfmS7XS2n4aFxD2lkHC8Y3co+ydTz2lQ== X-Google-Smtp-Source: AGHT+IGedzLIHgKBNXUY4aTfladGIP6JBX+oTMU8JN2ST6Yl2TZ0tCvYwCSm1FAjJzLN6FyRTeliLQ== X-Received: by 2002:a05:6870:392b:b0:25d:789e:2418 with SMTP id 586e51a60fabf-25d789e36e0mr3000171fac.41.1719551641409; Thu, 27 Jun 2024 22:14:01 -0700 (PDT) Received: from google.com ([2600:1702:a20:5750::48]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-25d8e37e3b3sm260666fac.57.2024.06.27.22.14.00 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Jun 2024 22:14:00 -0700 (PDT) Date: Thu, 27 Jun 2024 22:13:53 -0700 From: Noah Misch To: Robert Haas Cc: pgsql-hackers@postgresql.org, Tom Lane , Smolkin Grigory , Michael Paquier Subject: Re: race condition in pg_class Message-ID: <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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240621212842.98.nmisch@google.com> User-Agent: Mutt/2.2.12 (2023-09-09) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, Jun 21, 2024 at 02:28:42PM -0700, Noah Misch wrote: > On Thu, Jun 13, 2024 at 05:35:49PM -0700, Noah Misch wrote: > > I think the attached covers all comments to date. I gave everything v3, but > > most patches have just a no-conflict rebase vs. v2. The exceptions are > > inplace031-inj-wait-event (implements the holding from that branch of the > > thread) and inplace050-tests-inj (updated to cooperate with inplace031). Much > > of inplace031-inj-wait-event is essentially s/Extension/Custom/ for the > > infrastructure common to the two custom wait event types. > > Starting 2024-06-27, I'd like to push > inplace080-catcache-detoast-inplace-stale and earlier patches, self-certifying > them if needed. Then I'll submit the last three to the commitfest. Does > anyone want me to delay that step? Pushed. Buildfarm member prion is failing the new inplace-inval.spec, almost surely because prion uses -DCATCACHE_FORCE_RELEASE and inplace-inval.spec 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 report the final answer. Undo in the later fix patch. 2. v14+ has pg_backend_memory_contexts. In the test, run some plpgsql that uses heuristics on that to deduce whether caches are getting released. Have a separate expected output for the cache-release scenario. Perhaps 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 output for the cache-release scenario. Preferences or other ideas? I'm waffling between (1) and (2). I'll give it more thought over the next day. Thanks, nm