Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntu6k-00044s-TO for pgsql-bugs@arkaria.postgresql.org; Wed, 25 May 2022 16:43:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1ntu6j-0002gh-ON for pgsql-bugs@arkaria.postgresql.org; Wed, 25 May 2022 16:43:37 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntu6i-0002fj-Qw for pgsql-bugs@lists.postgresql.org; Wed, 25 May 2022 16:43:37 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1ntu6f-0005iB-7D for pgsql-bugs@lists.postgresql.org; Wed, 25 May 2022 16:43:36 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id DCCBB5C0062; Wed, 25 May 2022 12:43:30 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 25 May 2022 12:43:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:reply-to:sender :subject:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1653497010; x=1653583410; bh=C 1hTLh10eBGu5Oy/RqLT7Kh6/erTuiD1lG4wFVQhxVo=; b=UkM1ejwJPDviSJf2l LbKosHirxv0z9zuKDz8dbSoISgV0YutO1AYnJpKF1qvB/5Jo29YwEYEbsSvkSnvj xXyZdywlAFu51hnb5/MR4T1gT88q9FFLjThcF0JR6SMLZjlW/zfu/KDKNYhRVhcG tDw8988FioIh3WoJtan0ofnaoArVNqdRKFTB2PDtZb9fw8fRL6A8IP2pNMTZnlq6 jNt44hbMIl+xS1nOmbNFh9M4Gr1TgERFu/Qb7Q/1tMC8cz/eyhzeZ+kFFPG7Js7n wv/HfD2OGf6r5tz+BoaLTyAkahUgKRaSwDuZVQ+IpK0bHeW2VSmYUB0nlz2z/hC8 tQWqA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrjeehgddutddvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvfevuffkgggtugfgjgesthekredttddtjeenucfhrhhomheptehlvhgr rhhoucfjvghrrhgvrhgruceorghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdrohhrgh eqnecuggftrfgrthhtvghrnhepvdektdffudfftdffffehfffhjeejhffgieeuueekjeek fffgudffhfduffffueevnecuffhomhgrihhnpegvnhhtvghrphhrihhsvggusgdrtghomh enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrlhhv hhgvrhhrvgesrghlvhhhrdhnohdqihhprdhorhhg X-ME-Proxy: Feedback-ID: ia2694551:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 25 May 2022 12:43:29 -0400 (EDT) Received: by perhan.alvh.no-ip.org (Postfix, from userid 1000) id D8FE22A15A6; Wed, 25 May 2022 18:43:22 +0200 (CEST) Date: Wed, 25 May 2022 18:43:22 +0200 From: Alvaro Herrera To: Robert Haas Cc: Andres Freund , Andrey Borodin , Peter Geoghegan , Michael Paquier , =?utf-8?B?0J/QtdGC0YrRgCDQodC70LDQstC+0LI=?= , PostgreSQL mailing lists Subject: Re: BUG #17485: Records missing from Primary Key index when doing REINDEX INDEX CONCURRENTLY Message-ID: <202205251643.2py5jjpaw7wy@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2022-May-25, Robert Haas wrote: > On Wed, May 25, 2022 at 7:45 AM Alvaro Herrera wrote: > > Another possibility (than reverting the commit altogether) might be to > > disable HOT pruning while a process is operating on that relation with > > PROC_IN_SAFE_IC. So CIC/RIC processes are still ignored for VACUUM, > > while not creating corrupted indexes. > > I'm not sure that would be a win, because HOT pruning is great as long > as the tuples you're pruning are old enough. Well, the point is that VACUUM could still prune dead tuples that are newer than the CIC in all *other* tables. VACUUM cannot run in the table being processed by CIC/RIC (because of locks), so there's no change; it's only HOT-pruning in the table being processed that would change. > Also, it seems like it would require complex new infrastructure that I > think we should be reluctant to invent in back branches. This is definitely true. And I think this would be expensive, because we'd have to check in every heap_page_prune call. > It seems to me that we should just revert. Deciding to revert makes me sad, because this feature is extremely valuable for users. However, I understand the danger and I don't disagree with the rationale so I can't really object. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ "¿Cómo puedes confiar en algo que pagas y que no ves, y no confiar en algo que te dan y te lo muestran?" (Germán Poo)