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 1mguFe-0006mQ-1W for pgsql-bugs@arkaria.postgresql.org; Sat, 30 Oct 2021 19:42:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mguF6-0003fV-61 for pgsql-bugs@arkaria.postgresql.org; Sat, 30 Oct 2021 19:42:16 +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 1mguF5-0003fK-RE for pgsql-bugs@lists.postgresql.org; Sat, 30 Oct 2021 19:42:15 +0000 Received: from lincle.koumakan.jp ([62.210.203.63] helo=mail.koumakan.jp) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mguF1-0001mQ-Dp for pgsql-bugs@lists.postgresql.org; Sat, 30 Oct 2021 19:42:15 +0000 Received: from [10.10.0.2] (gate.koumakan.jp [93.100.167.65]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.koumakan.jp (Postfix) with ESMTPSA id 7D9D54042; Sat, 30 Oct 2021 19:42:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koumakan.jp; s=default; t=1635622929; bh=WaqJx4JFyWKZKMDczg6rom4O2bF3jYualcl2D5FiV4M=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=akMtZVsdwqBAapIzlUHjuGKX58XfsBW2u8ZqdxgowIQ6/ZRJ89zZGQbGjvc+oI6pd oo68xtYNqtV8W+sIRDf0N9ympJ0Szc+iNlcG7c24KGVrcpuVW5A4FWes+ToSdFyGUj aX7fqxKa2pFXr/2K5NJfYuwA3E7zZ3ZKpGor6PKA= Message-ID: <308eb378-dce3-0529-e6ee-eb8e4ea026f7@koumakan.jp> Date: Sat, 30 Oct 2021 22:42:07 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 Subject: Re: BUG #17245: Index corruption involving deduplicated entries To: Peter Geoghegan , Andres Freund Cc: Amit Kapila , Andrew Gierth , Alvaro Herrera , PostgreSQL mailing lists , Thomas Munro References: <20211028220124.n4vulzxp6i6fsq4t@alap3.anarazel.de> <551936fa-9ba8-aed1-7ae1-c77d5920101c@koumakan.jp> <9c7433f6-65b3-9f57-e8a3-4414d0cf0c53@koumakan.jp> <399affa1-c9c5-9b3e-c14f-b24ecb86b303@koumakan.jp> <20211029201848.zixfp5wk2hvkeaq2@alap3.anarazel.de> <20211029213048.q5ltta6dze3sykh3@alap3.anarazel.de> <20211029215902.7um7dmzl4lveuk3h@alap3.anarazel.de> <8809ef6d-d247-5ca8-820d-b9daec61e818@koumakan.jp> <20211030023740.qbnsl2xaoh2grq3d@alap3.anarazel.de> <20211030041217.sp2le3hvtmzfghwo@alap3.anarazel.de> From: Kamigishi Rei In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 30.10.2021 21:46, Peter Geoghegan wrote: > > Attached is a draft patch that fixes the problem. Thank you! Going to install the patched version on the production system to see how it fares (and I expect good things). Tried against the re-extracted snapshot, looks good (everything still needs reindexing, obviously, but that is beside the point right now): azurlane_wiki=# vacuum verbose mediawiki.page; INFO: vacuuming "mediawiki.page" INFO: launched 2 parallel vacuum workers for index vacuuming (planned: 2) INFO: scanned index "page_len" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: scanned index "page_main_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.05 s INFO: scanned index "page_mediawiki_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: scanned index "page_project_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: scanned index "page_talk_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: scanned index "page_user_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: scanned index "page_utalk_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: scanned index "page_pkey" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.07 s INFO: scanned index "page_redirect_namespace_len" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.08 s INFO: scanned index "page_random" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.14 s INFO: scanned index "name_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.19 s INFO: scanned index "ts2_page_title" to remove 251 row versions DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.04 s INFO: table "page": removed 251 dead item identifiers in 215 pages DETAIL: CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s INFO: index "page_pkey" now contains 46056 row versions in 131 pages DETAIL: 190 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "name_title" now contains 46056 row versions in 330 pages DETAIL: 211 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_len" now contains 51848 row versions in 61 pages DETAIL: 681 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_main_title" now contains 3569 row versions in 18 pages DETAIL: 147 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_mediawiki_title" now contains 15 row versions in 2 pages DETAIL: 0 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_project_title" now contains 1 row versions in 2 pages DETAIL: 0 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_random" now contains 46056 row versions in 127 pages DETAIL: 251 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_redirect_namespace_len" now contains 47663 row versions in 68 pages DETAIL: 265 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_talk_title" now contains 35 row versions in 2 pages DETAIL: 0 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_user_title" now contains 735 row versions in 6 pages DETAIL: 6 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "page_utalk_title" now contains 44 row versions in 2 pages DETAIL: 0 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: index "ts2_page_title" now contains 46056 row versions in 211 pages DETAIL: 251 index row versions were removed. 0 index pages were newly deleted. 0 index pages are currently deleted, of which 0 are currently reusable. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. INFO: table "page": found 14 removable, 44250 nonremovable row versions in 876 out of 912 pages DETAIL: 0 dead row versions cannot be removed yet, oldest xmin: 2097658 Skipped 0 pages due to buffer pins, 0 frozen pages. CPU: user: 0.00 s, system: 0.01 s, elapsed: 0.50 s. INFO: vacuuming "pg_toast.pg_toast_19560" INFO: table "pg_toast_19560": found 0 removable, 0 nonremovable row versions in 0 out of 0 pages DETAIL: 0 dead row versions cannot be removed yet, oldest xmin: 2097658 Skipped 0 pages due to buffer pins, 0 frozen pages. CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s. VACUUM -- K. R.