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 1sbPv4-00GSnU-9U for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Aug 2024 19:32:30 +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 1sbPv2-002FTZ-DP for pgsql-hackers@arkaria.postgresql.org; Tue, 06 Aug 2024 19:32:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sbPv2-002FTR-3J for pgsql-hackers@lists.postgresql.org; Tue, 06 Aug 2024 19:32:28 +0000 Received: from mail-il1-x136.google.com ([2607:f8b0:4864:20::136]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sbPuz-003QT7-HN for pgsql-hackers@postgresql.org; Tue, 06 Aug 2024 19:32:26 +0000 Received: by mail-il1-x136.google.com with SMTP id e9e14a558f8ab-39b3a6a7941so3541115ab.0 for ; Tue, 06 Aug 2024 12:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leadboat.com; s=google; t=1722972745; x=1723577545; 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=D0XlGa91yj+vkHfbkSyUCSb7gFAOA5NJrwDNgb4nxrA=; b=NNIfDlXOj1WxHj7rSHVWUs4oVab58LJhmvWTtkfmOgjD0gQk5oTfPcQbRDL57qNMN8 5TxBdoP0LeaiA/v0GxKuWA3csljGJFVs8rt/l372Q5Ll8AURahn5diK8uoHnXqwRMTHp LQz6mdGmpzk1wUZdYM/2KV0W7XqLV/5oDGMBA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722972745; x=1723577545; 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=D0XlGa91yj+vkHfbkSyUCSb7gFAOA5NJrwDNgb4nxrA=; b=vfNckVE77eY5O72+nEQQWzENJk0OX/BDRfDm9tA+3x6STDnYXLxEBnPKIuq9xNji9r CRLEyxppxtu03yS1TsRQQQWZynDtg77fXt4lqlKBl7zwX6eWlQUt+C1VmRP6++1XSTdU 8BCANzm5oshZOweYvK2FyCTK3shQra3ijDpb4xITfNj94JrKY7l2QGososD5oRdDAdfv tNiFC4BUofHrpNkSQEAfguORuCMPqpORMwbPRHFCHQXDi3Xz9RadlwIe0jGENqGU6EUF weMiCrLZ/k/MIEzcuqkU5EoEusCO5iTZb4XzG0H0wHWkPnu4fm1fBP7Mwub0yiFurHOC +ZIg== X-Gm-Message-State: AOJu0YyHOqBICSd6YkxYx0FDIp6OPiWgVjdTT6taIcCFI81oLWSM2MuY LdWZ77I8Z23qMpWwX0qTyoAauuLjt9IbTMBviAqehSoVXX/nyLl51M0KGM8vydQyJbxoED84olc = X-Google-Smtp-Source: AGHT+IH2OXoK+f3MU7FGbLQHZdyNRERhoFaaYMR8c3IdKJuiXx0Tnt9B7uBar999aT5n7pyM7fsONw== X-Received: by 2002:a92:d385:0:b0:375:da94:e46b with SMTP id e9e14a558f8ab-39b1fb7ded5mr182005665ab.5.1722972744690; Tue, 06 Aug 2024 12:32:24 -0700 (PDT) Received: from google.com ([2600:1702:a20:5750::48]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7b763564e32sm7347743a12.31.2024.08.06.12.32.23 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 06 Aug 2024 12:32:24 -0700 (PDT) Date: Tue, 6 Aug 2024 12:32:22 -0700 From: Noah Misch To: Andres Freund Cc: pgsql-hackers@postgresql.org Subject: Re: Inval reliability, especially for inplace updates Message-ID: <20240806193222.69.nmisch@google.com> References: <20240523000548.58.nmisch@google.com> <20240615223718.42.nmisch@google.com> <20240617235854.f8.nmisch@google.com> <20240618015730.jijhox2a3w3t26en@awork3.anarazel.de> <20240618152349.7f.nmisch@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240618152349.7f.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 Tue, Jun 18, 2024 at 08:23:49AM -0700, Noah Misch wrote: > On Mon, Jun 17, 2024 at 06:57:30PM -0700, Andres Freund wrote: > > On 2024-06-17 16:58:54 -0700, Noah Misch wrote: > > > That inplace150 patch turned out to be unnecessary. Contrary to the > > > "noncritical resource releasing" comment some lines above > > > AtEOXact_Inval(true), the actual behavior is already to promote ERROR to > > > PANIC. An ERROR just before or after sending invals becomes PANIC, "cannot > > > abort transaction %u, it was already committed". > > > > Relying on that, instead of explicit critical sections, seems fragile to me. > > IIRC some of the behaviour around errors around transaction commit/abort has > > changed a bunch of times. Tying correctness into something that could be > > changed for unrelated reasons doesn't seem great. > > Fair enough. It could still be a good idea for master, but given I missed a > bug in inplace150-inval-durability-atcommit-v1.patch far worse than the ones > $SUBJECT fixes, let's not risk it in back branches. What are your thoughts on whether a change to explicit critical sections should be master-only vs. back-patched? I have a feeling your comment pointed to something I'm still missing, but I don't know where to look next.