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 1tmcI2-008748-BU for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Feb 2025 17:30:47 +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 1tmcI1-005cx1-9W for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Feb 2025 17:30:45 +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 1tmcI0-005cwm-Ua for pgsql-hackers@lists.postgresql.org; Mon, 24 Feb 2025 17:30:44 +0000 Received: from cockroach.ash.relay.mailchannels.net ([23.83.222.37]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1tmcHx-000Vtn-12 for pgsql-hackers@postgresql.org; Mon, 24 Feb 2025 17:30:43 +0000 X-Sender-Id: hostingeremail|x-authuser|david@pgbackrest.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 320AD8A22D3; Mon, 24 Feb 2025 17:30:40 +0000 (UTC) Received: from fr-int-smtpout3.hostinger.io (trex-0.trex.outbound.svc.cluster.local [100.106.130.54]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id 15E578A329B; Mon, 24 Feb 2025 17:30:38 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1740418239; a=rsa-sha256; cv=none; b=WerDt0VE7bwRAezuA66p1OWMtmWoH6wmU8xUx0GLc77hwQW675b7Duuo40wVF3C+DtLpZE ZRmjlP5KxA6oKB5mgwRzi1aibckFzQ6qY64nRwePw/iVD2AWylYUWBI6iolKfQ0LRgJCJy VHehpQXu+W6K/HxAPDnrbL64DhwA2q7MqxOs5cfTubEgv78L5WtyH++xUoC/fL0EoPCqAW q54Jju0w+VKAKM1mgs878s2KO7R5/5LAhHH7I07SdLyvMAY+XjDW/jCvZisEZRLczJ0ORy mQfuoDZPalHWtdk/ecrkuiFM7zzcUaDF4FlbfShiIkBdCTwqQjNlCNL/HfeJHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1740418239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=1OIsWSygM4bZiqkMdB7mSTRCgYD6jpp7dVvFkoj/cNw=; b=cJkhBrUdawBIPmSx2OrauF9q56TaEpUBMQsXEo9BLIBIsvB6vZ/bus2dfZbR1RmR/6a9FE mfGTH+R+BawvTZ/kX6VlxUzrjijLbpkwX83ZNzKpl8CU7EEJT8wdgP5709Pv9WIno7veSa 4jij0kQ2QU8mRGSUME1+399hoyyKNTZrq5VbOs02diY1kdS+nT3/3mYfdQorg/ubMgPO1Y 9mkfV9InRH2vDJXSyRfDcoYgqehRCz5/j+26GGgeQZx49TE72cAPthd1/cpuGyvxVtwclX Amr13U2VSkDjqzMiOrHbLAEpZ73KhKtk6ilCjdopM2hq9w8FH5mFdleLSM4ApA== ARC-Authentication-Results: i=1; rspamd-78ddd997cc-td9hs; auth=pass smtp.auth=hostingeremail smtp.mailfrom=david@pgbackrest.org X-Sender-Id: hostingeremail|x-authuser|david@pgbackrest.org X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|david@pgbackrest.org X-MailChannels-Auth-Id: hostingeremail X-Tart-Continue: 6e39380470d4e5e0_1740418240045_1706393156 X-MC-Loop-Signature: 1740418240045:3427555006 X-MC-Ingress-Time: 1740418240045 Received: from fr-int-smtpout3.hostinger.io (fr-int-smtpout3.hostinger.io [89.116.146.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.106.130.54 (trex/7.0.2); Mon, 24 Feb 2025 17:30:40 +0000 Received: from [10.5.0.2] (unknown [45.88.220.114]) (Authenticated sender: david@pgbackrest.org) by smtp.hostinger.com (smtp.hostinger.com) with ESMTPSA id 4Z1nnS0QyRz4x6k3; Mon, 24 Feb 2025 17:30:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgbackrest.org; s=hostingermail1; t=1740418237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1OIsWSygM4bZiqkMdB7mSTRCgYD6jpp7dVvFkoj/cNw=; b=0nuQfFTw7e20GlrCHtCwzK8O9Z3DslFv/tNscVobbAq+6yNOUjhZxpfXZwK5Y7O1LCNHSt DqaGLNE95CTaRjUpxXbamPT/4PzCRFhel2QYEWwNVclCPVobQjBXVgNILaKlioQFYEPihi 2wYbIqCVQ1uFsjQlTJv+B+FlB+fzXRflhpW2Pt0nOF59d4QkCfRx1j+z86uG2Bbg1YQcMA rkK0+dOlhRSGNGZFV6p2GLAbBEA8pnd65/ch4PUSlPs3ELxqDF1NwujUOZ0UzUdRhfCJcn H0pX3hOaRz7CjS3v0dQv9YWHYsTTTGkT7bGJRjeJGSg/vgEGC6/OaQg/rJe2jg== Message-ID: <26fd4e28-8b75-4e61-a3fd-aed3b7442606@pgbackrest.org> MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Fix logging for invalid recovery timeline To: =?UTF-8?Q?Benoit_Lobr=C3=A9au?= , Michael Paquier Cc: "Andrey M. Borodin" , Pg Hackers References: <4ed10bc8-5513-4d8e-8643-8abcaa08336d@dalibo.com> <2765f538-b06f-4e57-bcb2-9ca1dc6f487d@pgbackrest.org> <6273ef0b-033b-4ac7-ab05-71a04e7ac626@pgbackrest.org> <173a9a4a-bad3-4a42-91e1-637f70e9512f@dalibo.com> <5336e68a-30d0-473f-a0a0-9e61cd9a5a63@pgbackrest.org> Content-Language: en-US From: David Steele In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Mon, 24 Feb 2025 17:30:35 +0000 (UTC) X-CM-Envelope: MS4xfFqroVWnSzXIuy9cSx9++CgwteoQ+htgZUnNV5go404htyTx6IXO1MJiN/FUScsKJPP4PVYf9tfNk5WxxYSuSHhOvOL/tfkY5KFZUZOcQ1MVlM4o+R00 GyDnifTAc27lNRQfGwm6dBSlUxFgV+wYs1sB2zCdSe2vGXYC9g/1HIiJ4+pGlBnigsK+jT8yXYIi3mhGf/cLNPfj7bXV3O6irxAqB/VXeg+KLsDEl3uPXE1a PA2F7cg6JtHMmdbc/0VZQqA59K4YyRtHGUZYjTZN0FNRqmMBw+pWna4t5SfjmxEa X-CM-Analysis: v=2.4 cv=e81USrp/ c=1 sm=1 tr=0 ts=67bcacbd a=HwlIknFHR17kSPRSbimNrQ==:117 a=HwlIknFHR17kSPRSbimNrQ==:17 a=IkcTkHD0fZMA:10 a=V23y4X_d8YJMQB-QN6EA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-AuthUser: david@pgbackrest.org List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 2/24/25 10:21, Benoit Lobréau wrote: > On 2/24/25 2:05 AM, Michael Paquier wrote: >> I think that you have the right idea here, avoiding the duplication >> of the errdetail() which feels itchy when looking at the patch. > > Done this way in the attached patch. This looks good to me. >> This should have a note for translators that this field refers to a file >> name. > > Is there a specific way todo this? If you search the source for translator: you'll find lots of examples. Here's one that was pretty relevant: /* translator: %s is a configuration file */ We could probably phrase that as: /* translator: %s is a backup_label or pg_control file */ That note goes right above the hint, so something like: + /* translator: %s is a backup_label or pg_control file */ + errdetail("Latest checkpoint in %s is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X.", + haveBackupLabel ? "backup_label" : "pg_control", Regards, -David