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 1u9Smy-0026S5-4A for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Apr 2025 18:01:08 +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 1u9Sly-002dKe-3m for pgsql-hackers@arkaria.postgresql.org; Mon, 28 Apr 2025 18:00:07 +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 1u9Slx-002dKW-M8 for pgsql-hackers@lists.postgresql.org; Mon, 28 Apr 2025 18:00:06 +0000 Received: from mail-lj1-x234.google.com ([2a00:1450:4864:20::234]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1u9Slw-0002hV-2O for pgsql-hackers@postgresql.org; Mon, 28 Apr 2025 18:00:05 +0000 Received: by mail-lj1-x234.google.com with SMTP id 38308e7fff4ca-3105ef2a08dso48801031fa.0 for ; Mon, 28 Apr 2025 11:00:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745863203; x=1746468003; darn=postgresql.org; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Uq5wTAApouMP5ndrR/qQffpck0XU/1NDS0CnXpFIioo=; b=XngaZA1O+sfG4MEZ7UyQUAa0O7BMJAA7mOJGkKkDcL4iwDKeuzEDWIl/7uuPB7C7Jy 5WpsILJG6L0kzUmnX652hCwFz3AOkZR8/nonNC7GE01X07tSUcAYbTbc4I8GKh6cUeWP 5DhIqrZC0PnoLnteRu67GUB9FTMWw7h27fGSU3CouZla/9cSlmBJxUuuAq+BE4PxO8m0 mm0h+2Xd/PZmEIKdqCk9/6EneBNH1SCelUU7LJGH9QkNhf5Las1EbEk70SoL7DuY6y0X AdueDnHJsJQAr/Neq8Z5fN67mpHwAJY4a0acuMdzMwBctt5+wetMFgyPPsWWmjHrYDtY sBMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745863203; x=1746468003; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Uq5wTAApouMP5ndrR/qQffpck0XU/1NDS0CnXpFIioo=; b=w2uGkYCweEv+xhOw2szlPrmDS7i5DWYNGnCNm+ngl6rn5DL053J2jvb/w5XQmpmjfk eKdeFu6nXvvUS4bJ7GaO3pPeQ78aab/TN5q/49g28JFFd9xwmcdfwVXuKOeRiNCbvCr8 OKdfDmpzSNLDoO3RLA5tOzLgZclcb2IHPaf8Ug8gARqGR+Jb0a2Vul/j3IPJJx/dYrnN 5SeOZ8zC7nCV15kKxUSyprPrwpDHSxu/OpHcVrRkoEagfwyeTi5HjmYwbfFSfkBF+E6e HvGWvQLLIZbi9G6Zxn1/U4jSg72ZTYylDHnGuhLn6zTw1zJ+lJ1RXTByeJwywfRx4Acj m4yg== X-Forwarded-Encrypted: i=1; AJvYcCX6TuEUVtK4IjqZlEFaQ6f5CxN6CmgdtuILdI27LMz4+az4U6EDHUfICXeEtvWGxc7YtYv0GrN3JSss5nEF@postgresql.org X-Gm-Message-State: AOJu0YzHE5I2gaqL/BcdAt7AF1djRGZR6GE7AVu0Mpp3rjCepLlTX2Ap IZXlx8XZvYPDtLDaJ5ewEofsuxrmvJJJC7GAoDycIFylrBtTvr1G X-Gm-Gg: ASbGncuFba+pq755wlwO1Uqwzo5+YepfO2GU+EsTi7EBzL1MIuTWzgEeb1galclfq4C 7BjIafjs4XpGl4lm+NTnS7JvlIdfpXn9dMiDLX1RJ3k0dwEBWkJBD4YDI4fCIgzwKhgmtOF6wko ViTYKyLIHMD4CxB2ojvd7gL1JlxbEo7EbfYeFhoUAIjBN6FzzWYBN15CLy7+80XwtOYZbMXnk/C F7IobP+vlW/+F0o7vsCToSwmSZWi6q9RfT1Eb8Wu6JgC9v6iDHyA3uG39MTtyIZ73UFjyubvpNc QtHnPvizcUEc7/k43EgSDNxjIlUu3eNn5y5AsjrGMnA= X-Google-Smtp-Source: AGHT+IFL4X02J/Kqz/xJwf3c4f33rgPTbPQQsltHIeH8kSFmLy1dpyLFx+ZVx8pY9oXMIhKKhGnbYA== X-Received: by 2002:a2e:a98a:0:b0:30b:cd68:b6a6 with SMTP id 38308e7fff4ca-31d33ec2fb8mr1545581fa.6.1745863202810; Mon, 28 Apr 2025 11:00:02 -0700 (PDT) Received: from [192.168.0.50] ([89.149.68.176]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-317d16a8312sm22261481fa.86.2025.04.28.11.00.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 28 Apr 2025 11:00:02 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------38tmIkkBFXuciBH3mIIC5Iy5" Message-ID: <67e69649-30ff-4b72-9427-7978010701af@gmail.com> Date: Mon, 28 Apr 2025 21:00:01 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: optimize file transfer in pg_upgrade To: Nathan Bossart Cc: Tom Lane , Robert Haas , Andres Freund , Greg Sabino Mullane , pgsql-hackers@postgresql.org, bruce@momjian.us References: <7rhxl5nl5cuenm4kzprjhaojo74m2teuwzjffcrdi6bxx6b2wn@orb5h3mteh2y> <712605.1742401713@sss.pgh.pa.us> <7161562f-d00d-41a6-bd8a-d15684d3eaf2@gmail.com> Content-Language: en-US From: Alexander Lakhin In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------38tmIkkBFXuciBH3mIIC5Iy5 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello Nathan, 28.04.2025 18:15, Nathan Bossart wrote: > I see a couple of other pg_upgrade failures on drongo and fairywren that > look similar, although these are for different tests: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=drongo&dt=2025-03-10%2019%3A26%3A35 > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fairywren&dt=2025-03-30%2013%3A03%3A05 Yeah, I've categorized the first one as [1], but now I see that it's something different, because "pg_upgrade_output.d/ removed after successful pg_upgrade" is not the only (and not the first) failure there. Will fix. As to the second one, yes, it's similar in the sense that the failed test log doesn't contain information needed to understand the cause. >> Moreover, even when pg_upgrade succeeds, IPC::Run::run inside >> command_ok_or_fails_like() returns false, as we can see from a >> successful test run: >> https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=fairywren&dt=2025-04-27%2001%3A03%3A06&stg=misc-check >> >> pgsql.build/testrun/pg_upgrade/006_transfer_modes/log/regress_log_006_transfer_modes >> [01:18:38.210](21.036s) ok 1 - pg_upgrade with transfer mode --clone: stdout matches >> [01:18:38.211](0.001s) ok 2 - pg_upgrade with transfer mode --clone: stderr matches > That's expected for platforms that don't support all of the modes. We > verify the output matches a known error message in that case. Yes, I meant that in that case we can't determine whether to preserve logs of the failed pg_upgrade outside of command_ok_or_fails_like(). >> So maybe it's worth to adjust the test somehow to have interesting logs >> left after a failure? > I see some other discussion about failures with similar symptoms [0] [1]. > Commit 6f97ef0 seems to have helped with one of the tests, and there is a > proposed patch in the latest thread [2] that AFAICT aims to fix the > underlying issue. Thank you for the references! Unfortunately I still can't see where the lack of upgrade log files is discussed. In other words, if we had logs like in the case [2], it could be helpful. [1] https://wiki.postgresql.org/wiki/Known_Buildfarm_Test_Failures#Upgrade_tests_fail_on_Windows_due_to_pg_upgrade_output.d.2F_not_removed [2] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=copperhead&dt=2025-02-20%2017%3A01%3A23 Best regards, Alexander Lakhin Neon (https://neon.tech) --------------38tmIkkBFXuciBH3mIIC5Iy5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
Hello Nathan,

28.04.2025 18:15, Nathan Bossart wrote:
I see a couple of other pg_upgrade failures on drongo and fairywren that
look similar, although these are for different tests:

	https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=drongo&dt=2025-03-10%2019%3A26%3A35
	https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=fairywren&dt=2025-03-30%2013%3A03%3A05

Yeah, I've categorized the first one as [1], but now I see that it's
something different, because "pg_upgrade_output.d/ removed after
successful pg_upgrade" is not the only (and not the first) failure there.
Will fix. As to the second one, yes, it's similar in the sense that the
failed test log doesn't contain information needed to understand the
cause.

Moreover, even when pg_upgrade succeeds, IPC::Run::run inside
command_ok_or_fails_like() returns false, as we can see from a
successful test run:
https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=fairywren&dt=2025-04-27%2001%3A03%3A06&stg=misc-check

pgsql.build/testrun/pg_upgrade/006_transfer_modes/log/regress_log_006_transfer_modes
[01:18:38.210](21.036s) ok 1 - pg_upgrade with transfer mode --clone: stdout matches
[01:18:38.211](0.001s) ok 2 - pg_upgrade with transfer mode --clone: stderr matches
That's expected for platforms that don't support all of the modes.  We
verify the output matches a known error message in that case.

Yes, I meant that in that case we can't determine whether to preserve logs
of the failed pg_upgrade outside of command_ok_or_fails_like().

So maybe it's worth to adjust the test somehow to have interesting logs
left after a failure?
I see some other discussion about failures with similar symptoms [0] [1].
Commit 6f97ef0 seems to have helped with one of the tests, and there is a
proposed patch in the latest thread [2] that AFAICT aims to fix the
underlying issue.

Thank you for the references! Unfortunately I still can't see where the
lack of upgrade log files is discussed.

In other words, if we had logs like in the case [2], it could be helpful.

[1] https://wiki.postgresql.org/wiki/Known_Buildfarm_Test_Failures#Upgrade_tests_fail_on_Windows_due_to_pg_upgrade_output.d.2F_not_removed
[2] https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=copperhead&dt=2025-02-20%2017%3A01%3A23

Best regards,
Alexander Lakhin
Neon (https://neon.tech) --------------38tmIkkBFXuciBH3mIIC5Iy5--