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 1o3Bbk-0006jW-IR for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Jun 2022 07:14:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1o3Bbi-00048H-Iy for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Jun 2022 07:13:58 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o3Bbg-000482-T3 for pgsql-hackers@lists.postgresql.org; Mon, 20 Jun 2022 07:13:58 +0000 Received: from wout2-smtp.messagingengine.com ([64.147.123.25]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o3Bbb-0007Ya-JV for pgsql-hackers@postgresql.org; Mon, 20 Jun 2022 07:13:55 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 4A365320090B; Mon, 20 Jun 2022 03:13:49 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Mon, 20 Jun 2022 03:13:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= cc:cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm2; t=1655709228; x=1655795628; bh=2fHc+BPsOX H5kKcaShp95XMKrf5wOq3QTTXf2gv3mTw=; b=EfBdLcnmuLmWKxq7qabrHg4PYk QAIAl/k3WxyUOHaTxBOM3a/t2SAqQqhKGcApymHOUnMu3OA4GgioTzFNJUpRxiQl 2B7iyqUCAa+9fQFp11Gk1LbRZyEcNNZbmIfZ4tFRhKpkOpS+z82VS7X0C/0z5MbX PU5mIE5iiwXz74e7nvnHR0K72dMQm3NAP7DOBaC1qAqX0PeYkwQ5z0VjqMYtrOP6 Q+PszcqxhR+8ZD+gHeIrKbrDHRW3wBHhwp1tpJ4FvwUDlzPrJr3eMpSQs8+Bpd6P 0A1F3QtBksynQfhpsTUpWFyRy3Wdbht1UrtiNd0xR/OiDcKrRDG+PamxlhEQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1655709228; x=1655795628; bh=2fHc+BPsOXH5kKcaShp95XMKrf5w Oq3QTTXf2gv3mTw=; b=UI8yOR4TW6K6/RUnqdTEGRVbSmaBur+1UQDGU/RSRyZw BCX27GA6wxEix5Rng+at8SYPYRHgdch8M++a44EWiyMrdAGZvqj6MZ0u2SPz+Lhm R3PLEMG9mzsNydpG4yrkyfjf5TUEvp0M97/t23tITojy63vIklUPA3iUUaKwFKwj Vr6qY6F8rYZFekdWGW23CI5PmBtAccibAy9myMRSaUZumFob/7S1A88WrG1radm7 R7pwSzxzptRBcmz4QQQ5UyHsKOXwzYu/SgYC+Uzf+36EmGexILdQoa/xC3XYnVN+ tlJ953pSpZEYkKrSrUpMuyaU9MbH7HOPwoQqXIu5sw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrudeftddguddvtdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enfghrlhcuvffnffculdejtddmnecujfgurhepfffhvfevuffkfhggtggujgesghdtreer tddtvdenucfhrhhomhepofhitghhrggvlhcurfgrqhhuihgvrhcuoehmihgthhgrvghlse hprghquhhivghrrdighiiiqeenucggtffrrghtthgvrhhnpeetleeifedufffhhfdtteel geeggeffhfekueevteeigfduudevudetgfegiedvjeenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdig hiii X-ME-Proxy: Feedback-ID: i0fe9450f:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 20 Jun 2022 03:13:47 -0400 (EDT) Date: Mon, 20 Jun 2022 16:13:43 +0900 From: Michael Paquier To: "Imseih (AWS), Sami" Cc: Kyotaro Horiguchi , "alvherre@alvh.no-ip.org" , "pgsql-hackers@postgresql.org" Subject: Re: [BUG] Panic due to incorrect missingContrecPtr after promotion Message-ID: References: <20220527.153735.871115454014517938.horikyota.ntt@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Sonn9DC8t5Nd7Ywd" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Sonn9DC8t5Nd7Ywd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, May 27, 2022 at 07:01:37PM +0000, Imseih (AWS), Sami wrote: > What we found: >=20 > 1. missingContrecPtr is set when=20 > StandbyMode is false, therefore > only a writer should set this value > and a record is then sent downstream. >=20 > But a standby going through crash=20 > recovery will always have StandbyMode =3D false, > causing the missingContrecPtr to be incorrectly > set. That stands as true as far as I know, StandbyMode would be switched only once we get out of crash recovery, and only if archive recovery completes when there is a restore_command. > 2. If StandbyModeRequested is checked instead, > we ensure that a standby will not set a=20 > missingContrecPtr. >=20 > 3. After applying the patch below, the tap test succeeded Hmm. I have not looked at that in depth, but if the intention is to check that the database is able to write WAL, looking at XLogCtl->SharedRecoveryState would be the way to go because that's the flip switching between crash recovery, archive recovery and the end of recovery (when WAL can be safely written). The check in xlogrecovery_redo() still looks like a good thing to have anyway, because we know that we can safely skip the contrecord. Now, for any patch produced, could the existing TAP test be extended so as we are able to get a PANIC even if we keep around the sanity check in xlogrecovery_redo(). That would likely involve an immediate shutdown of a standby followed by a start sequence? -- Michael --Sonn9DC8t5Nd7Ywd Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAmKwHicACgkQnvQgOdby QH2wMw/+I7jy4CSGi8gC8QAjSk0ri6U88vZSXlYW0FJIzv+KhwDrqxDvlFp0U1pt m2XY5cWqKvielHuVwRkPsdW1oysJKmmoPXpE1Ftx9H9sxKwq+EtjIn0RXh55YQzz VHFMDx8bhzenSjhXO9jrkIwUdijvGPl0XhNfBYMBj2S7YjP75DMSmL7+IWacdLft mSXda3zhmcWclaPRNFHvdacoByhzbANTxH3qampySkuv0RV5r2yINSd2iGjOlxG0 WDcWwCF/LmmyRX5jca4N+hC6qKDnfKVibTgHed4MmRQjUqRNJRwFEMTANoqPafzf XOjf1VRiAFyV0yV2ykbrW5wmgQW2VUj47FUtnWrC5KsdPOFd8F2xNEN3kXpgVTBD JxPR960HNq10mx7sA9hyZOJtgJ5QVIFpcZwQCNIqgFMI9E8e2h9p2/j+8bren2bo tzcWhj3yTxF2W9b6v/bn93o4FelWVDkfmvbip/1d3DTI0ySfRtu40lzU5194/Yuq dC8Du3ub6IrMzYOkNa5afLOseQWJOUjSNOvpYO7kzvOY1cbyM6qCsmNiB/nXMFeQ 6UjhcYuzxCt8oGOpkoNmBl+susmog4LmFDkAGyxKk8ZCXCpZJv0ELypj2OelvmR6 DY3WphEnMCYFMFFSDaEXNZJRr+g4poXtFqXB4IOltvINCSX0MpY= =gqaz -----END PGP SIGNATURE----- --Sonn9DC8t5Nd7Ywd--