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 1sKJPA-009Rbo-Hr for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Jun 2024 15:08:52 +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 1sKJP8-009PxK-8b for pgsql-hackers@arkaria.postgresql.org; Thu, 20 Jun 2024 15:08:51 +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 1sKJP7-009Pwv-Ue for pgsql-hackers@lists.postgresql.org; Thu, 20 Jun 2024 15:08:50 +0000 Received: from mail-oo1-xc2c.google.com ([2607:f8b0:4864:20::c2c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sKJP6-002fQ2-3D for pgsql-hackers@postgresql.org; Thu, 20 Jun 2024 15:08:50 +0000 Received: by mail-oo1-xc2c.google.com with SMTP id 006d021491bc7-5b9794dad09so429929eaf.3 for ; Thu, 20 Jun 2024 08:08:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leadboat.com; s=google; t=1718896126; x=1719500926; darn=postgresql.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=oSblypOsvjzPLyLyI+1lzGyC/aViQ1MbzfFZVWR/mpQ=; b=Oiu7J6i/vsmrvwYHQUnzaBuqpFbdXWVkJV4Fdg5aucMFhSs8PZcek1uszmJN3VMITV hYdFpB/4q+H3eUVdFMwPNgB2Wi/KJ2YgaLkFqNlgCGynwHYzpLmyAQ00Ksqgu/usLLY9 rfxmkM/svm9wU95ArRGHm0X9bdZ037IDudA3o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718896126; x=1719500926; h=user-agent:in-reply-to:content-transfer-encoding :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=oSblypOsvjzPLyLyI+1lzGyC/aViQ1MbzfFZVWR/mpQ=; b=P2JAQS3gwlIPf3qeOtIMOtWMqS5bz6tZw62F368i4TECg6FGQJULA90dT3P8ZJJaEX KMNDcRStfKEFNNuUWI0YBd+5N8wARazlbSOj8k/P6Lw2nb3J4/x5gZk13eOmWw7xu7hJ i196E1JLk8FYO9d/FKq1+Ks8jYrpJ1llAphhiR6NlAxrX7ZXjR6z3CyC9tWSfvftfDNm EgO46m5BKe+4Kz0sQik1CYv4KBbndP8eShYqfidXE6n477xNWtzzWrE/jwfhMzAhit/L RcrmBnxtIEnPcZe0h/SPwsQIRwLUzVlj2zV52KZIzx4weykELkGIZlxUzFTd9lwzx0ok 7c2A== X-Gm-Message-State: AOJu0Yww1yJOTD2nmgbVYVpprgr2RGUobtoBi0+K4B1oE4NAaUS00Swy 9Zi5sWU2SOm4NIU9sHDSarxOJw8Xw6VdVvoAKlDHFxOtV/GyrW2RwtWD6VcGDQ== X-Google-Smtp-Source: AGHT+IGtHyvpexYMvRzF/x9EtxCf6FtAcjns3igNes7Zc9qED2JT6VPXmyOZeXYAXHhC4rjjLXgvxg== X-Received: by 2002:a05:6358:5e1a:b0:19f:1d0f:b636 with SMTP id e5c5f4694b2df-1a1fd416312mr671903655d.9.1718896126347; Thu, 20 Jun 2024 08:08:46 -0700 (PDT) Received: from google.com ([2600:1702:a20:5750::48]) by smtp.gmail.com with ESMTPSA id 00721157ae682-631183d7cb9sm30443227b3.13.2024.06.20.08.08.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 20 Jun 2024 08:08:45 -0700 (PDT) Date: Thu, 20 Jun 2024 08:08:43 -0700 From: Noah Misch To: "Andrey M. Borodin" Cc: pgsql-hackers@postgresql.org Subject: Re: datfrozenxid > relfrozenxid w/ crash before XLOG_HEAP_INPLACE Message-ID: <20240620150843.8e.nmisch@google.com> References: <20240620012908.92.nmisch@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: 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 Thu, Jun 20, 2024 at 12:17:44PM +0500, Andrey M. Borodin wrote: > On 20 Jun 2024, at 06:29, Noah Misch wrote: > > This resolves the last inplace update defect known to me. > > That’s a huge amount of work, thank you! > > Do I get it right, that inplace updates are catalog-specific and some other OOM corruptions [0] and Standby corruptions [1] are not related to this fix. Bot cases we observed on regular tables. In core code, inplace updates are specific to pg_class and pg_database. Adding PGXN modules, only the citus extension uses them on some other table. [0] definitely looks unrelated. > Or that might be effect of vacuum deepening corruption after observing wrong datfrozenxid? Wrong datfrozenxid can cause premature clog truncation, which can cause "could not access status of transaction". While $SUBJECT could cause that, I think it would happen on both primary and standby. [1] seems to be about a standby lacking clog present on the primary, which is unrelated. > [0] https://www.postgresql.org/message-id/flat/67EADE8F-AEA6-4B73-8E38-A69E5D48BAFE%40yandex-team.ru#1266dd8b898ba02686c2911e0a50ab47 > [1] https://www.postgresql.org/message-id/flat/CAFj8pRBEFMxxFSCVOSi-4n0jHzSaxh6Ze_cZid5eG%3Dtsnn49-A%40mail.gmail.com