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.96) (envelope-from ) id 1w3aox-001NHa-3C for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Mar 2026 14:27:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w3aow-006c9G-0h for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Mar 2026 14:27:26 +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.96) (envelope-from ) id 1w3aov-006c97-2s for pgsql-hackers@lists.postgresql.org; Fri, 20 Mar 2026 14:27:26 +0000 Received: from mail-vk1-xa30.google.com ([2607:f8b0:4864:20::a30]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w3aot-00000000BsQ-3NXX for pgsql-hackers@postgresql.org; Fri, 20 Mar 2026 14:27:26 +0000 Received: by mail-vk1-xa30.google.com with SMTP id 71dfb90a1353d-56739adfa1aso1328278e0c.0 for ; Fri, 20 Mar 2026 07:27:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774016843; cv=none; d=google.com; s=arc-20240605; b=jbBXqs0pFT/9dgQbVEaZ+FGoOerpy302uQm/n36Vlj1EiefiUO8BlzBPx4mwztj+z8 3VT9SIZfP9reoqdoIeHVcxwouyLz9hYX8dnnX6EDxlqVgxcWkHx3Vs899smCKV6I50Pr NuIhLXOmqrcjXL4JVDGjlwyFfyMPp815RYVXKPDr0smKJR+PDdKGmyTG1WLHHexyM+1K nQ6Q9CLaeF0EbZsSFgwiblePIDOYySJGc8xyKhqDEOxS70fiC0U4AO4MtcJJDBkgl3c+ 5y14AKPVNHY9IwACZZrUxRuatqG9bJwuf83Niwq+2CP8USXUxWZoGNaxojbK0Q9LPN7p RHJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=aQj038bpMWAgvJuRiW57251ostF60HmOckOVwnHoH7w=; fh=3zMMPOxIIHNL2+7PBICwau8mgvK34o8KMX7q9j6cx+c=; b=XVnbk49Gs8WN1baC8cdiDZV3urztwgu08TgtYGQuUhIEtslVVCwIrjTkLAWxLVHzwQ DMaFayHZuRvkLHkX7vMMXFATqbYJw5+Yvj8HxfVUvM29swF/AF2wXDOrfo16RPh9MtLE B25MXIyYOZUieSVK5Bc8EAnGlEcJdNq90F8ySYX+RyGcIZzrd5ELu/5qUTeOaaVzjTpH 2goAp3zejju1VCoZggzS8E3nJ2O5Ts2oL+bJuFs3HoWDBSTIUiNrtv9OZCEM1FRgftbm P3ZQMJHY9H4d1Qdcie7vDTSnI4/ho9yszij+nIUTJ0X55HPPDanu5gGyAT1/+eUdkuv0 s1Tg==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1774016843; x=1774621643; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=aQj038bpMWAgvJuRiW57251ostF60HmOckOVwnHoH7w=; b=X1JDkhAxds8RTo3WFas9L2RXCN7yZt2MrvuobvckRcLOiWJAS3aWc2d6cKnfsgd0C2 mlBCfLlxX9v1L1a7xLusM2VhdSddGAR7EaMXtvi5KPlZovKrZLYftMQniXvK6qmOWFdO j+AVecv1LdWb/mznHb8n2E6Zb5tIxbp8JtOqJcyrnQxtTzSbtTXj8Kd9C5YWleWOlJjX yLMLrAvIuFLeaEA9buACP7YeIn3MbiJzr80n92MvtdcW0UzsNECWY+rLqSJIrYqIWpc9 D2ThHR2Sn4sygzZCgkxW8e4EhKPb1aGL/SqZ/fz0hzq8j2NqU9THr0r+SRJFXfiKnXW9 4WKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774016843; x=1774621643; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=aQj038bpMWAgvJuRiW57251ostF60HmOckOVwnHoH7w=; b=nu2zLu8ccOCViqrihvhu7PT7Zajmb2HjwJcYb1eoCtcmbMcdP2ModUo7QTE1hHJ9I1 /+bSHpESGdnSBAb1ayubtrrzno00iaD9m7RSPneV9/o+UCRhLqjWGfA+KPR1iuds+f4L Wdr5zZMscVre6X8lEZtbaApp/YsZ9mT3S2upOOoXxnjADPty0c2C3WKd+OdTEv1jtI7U EHL7h5X9k3C7rOcZ1ia45aQMsSGCSNLKuasgScYxcTi2hTfDVeuLDz0izvjNGh9bhxzG C5mouTZamwOMpGgHdyH9/u+Y/cbshI+YJVNJR9zTDCDpVi2igtY+z44+kqx9xPc3rQi1 ZCvg== X-Gm-Message-State: AOJu0YzzttqUO9zZ81TQNvPs8KonXps+Ocw8a+fI/u1yE1FRaSa9Dy0u 9+MkBVxDqoW72tgzUTVVjTvvwCSPeddWiKTpglkMwG6JgO9lU1K0k343L9hkHpUo5y0fXyfl6IE 8XzyQBQ1Eua/5kogY4o3YrCNo2UGdDGNOvXXF2gw= X-Gm-Gg: ATEYQzwmseKF4pVN1VFQid+k85GtxpRV93XlvFxr+6AnGe72JKmggD0Ii1oo9dATr1i LSYGm8Ub3XgNuXoKkWMEdXtye8M2lskofzqDR/ZazIzXennjTxrkRx/tYigIin+Vrn3hV10nYB9 OSs5+S8Eyv6sSiNCFNsZL+qA/ne5Jnt37mzEiRvwL/F5eYRTcCs6/umh367ht4A8JMYi3uvxm8+ KFCex6K+brCjETVXpKySn5Tx6H2F/eN3t7bL8mQ2C26auHX3QeCzXW/eg8gH6AJCdfCYc8LRKQb ihA4ToOVWpxi/Wul X-Received: by 2002:a05:6102:8089:b0:5fd:f2ad:c653 with SMTP id ada2fe7eead31-602aeb08ed4mr1887078137.16.1774016842796; Fri, 20 Mar 2026 07:27:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nitin Jadhav Date: Fri, 20 Mar 2026 19:56:46 +0530 X-Gm-Features: AaiRm507sjdEljWMNECNjYYWrPdY7jhsCTZSJXz1V9Z2Spin70x0wGTIF1DmAGM Message-ID: Subject: =?UTF-8?Q?Re=3A_Change_checkpoint=E2=80=91record=E2=80=91missing_PANIC_to_FA?= =?UTF-8?Q?TAL?= To: Michael Paquier Cc: Pg Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > There could be one possibility for 0001 to be unstable, actually. One > could imagine that by getting the segment from a live server things > could fail: if the run is very slow then we may finish with an > incorrect record. It would be possibe to use pg_controldata once the > server has been shut down, but we should be on the same segment anyway > because nothing happens on the server, so I have let the test are you > have suggested, and applied this one. You have missed an update in > meson.build, and I am not sure that there was a need for renaming 050, > either. Good catch=E2=80=94thanks. This does seem like it could apply to the earlie= r redo=E2=80=91record=E2=80=91missing case as well. That said, since there=E2= =80=99s no activity on the server during the test, it should be safe as you mentioned. My apologies for missing the meson.build update again=E2=80=94thanks for takin= g care of it. On the renaming, I was aiming to separate things into four tests to make the differences explicit, but I=E2=80=99m happy to stick with two test files. > These two are very close to the existing tests that we have on HEAD > now, could it be better to group them together instead? Particularly, > 054 reuses the injection point trick in what is clearly a copy-paste > taken from 050. Avoiding this duplication may be nice. That's a good point. I agree these new cases are very close to what we already have on HEAD. I can rework this to avoid duplication by grouping them with the existing tests. Best Regards, Nitin Jadhav Azure Database for PostgreSQL Microsoft On Tue, Mar 10, 2026 at 9:28=E2=80=AFAM Michael Paquier wrote: > > On Fri, Mar 06, 2026 at 11:02:41AM +0530, Nitin Jadhav wrote: > > Patch 0001 adjusts the error severity during crash recovery when the > > checkpoint record referenced by pg_control cannot be located and no > > backup_label file is present. The error is lowered from PANIC to > > FATAL. This patch also adds a new TAP test that verifies startup fails > > with a clear FATAL error. The test is straightforward: it removes the > > WAL segment containing the checkpoint record and confirms that the > > server reports the expected error. > > There could be one possibility for 0001 to be unstable, actually. One > could imagine that by getting the segment from a live server things > could fail: if the run is very slow then we may finish with an > incorrect record. It would be possibe to use pg_controldata once the > server has been shut down, but we should be on the same segment anyway > because nothing happens on the server, so I have let the test are you > have suggested, and applied this one. You have missed an update in > meson.build, and I am not sure that there was a need for renaming 050, > either. > > > Missing checkpoint WAL segment referenced by backup_label: > > This test uses an online backup to create a backup_label file, > > extracts the checkpoint record information from it, removes the > > corresponding WAL segment, and verifies that the server reports the > > expected error. > > > > Missing redo WAL segment referenced by the checkpoint: > > In this test, redo and checkpoint records are forced into different > > WAL segments using injection points. A cold backup is then taken, with > > an explicit backup_label created in the restored cluster. The WAL > > segment containing the redo record is removed, and startup is expected > > to fail with the appropriate error message. > > These two are very close to the existing tests that we have on HEAD > now, could it be better to group them together instead? Particularly, > 054 reuses the injection point trick in what is clearly a copy-paste > taken from 050. Avoiding this duplication may be nice. > -- > Michael