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 1tuakZ-00A2EH-UZ for pgsql-hackers@arkaria.postgresql.org; Tue, 18 Mar 2025 17:29:12 +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 1tuakX-001Lf9-Bz for pgsql-hackers@arkaria.postgresql.org; Tue, 18 Mar 2025 17:29:09 +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.94.2) (envelope-from ) id 1tuakX-001Lf0-0f for pgsql-hackers@lists.postgresql.org; Tue, 18 Mar 2025 17:29:09 +0000 Received: from mail-yw1-x1134.google.com ([2607:f8b0:4864:20::1134]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tuakT-003bbY-1Q for pgsql-hackers@postgresql.org; Tue, 18 Mar 2025 17:29:08 +0000 Received: by mail-yw1-x1134.google.com with SMTP id 00721157ae682-6ff37565232so49125207b3.3 for ; Tue, 18 Mar 2025 10:29:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742318945; x=1742923745; darn=postgresql.org; h=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=b94zDib9io6lYav9O+/ShnkwzujoLlsSlA52ibKN6BY=; b=HQgvw7jUJbivIdTVPQUWr3x6zL1BRwDMXNh2fe79yZGGQSAzLcrqOQny8gNBePuMcp odZGTli9E9rQEtxgurlgmsn3ODd8O7/byq2ToiM/JwWVplYVksnEtcBs3/JjRlqqdiIK 26EIsP2s4lMLtBYYbbSb28egva11GeLZODhafTyHDS08UlwVEf1fLeHmeESlqMU5xbN3 GyC7MZ1042Vg0dvvx83K/7W95LEWg0z0/YMpkkXl7Y96eFvynkuZ2NCnuu/dPW5t9hxM /wfALhdlfaTzj2hpWdgaGHklu4EjP6HTePwGp9uAwjkgJ30hFhG5pimJKr/d9v1baNRB x+vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742318945; x=1742923745; h=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=b94zDib9io6lYav9O+/ShnkwzujoLlsSlA52ibKN6BY=; b=i1bL1u4qblKUJpWlcB2uxaCGu7c7farXfQzQxZ/e2YK2GZT/grai2HxxmGxHwd6UWA 07LldUe66z5uH4XTnLiKblfu4TVu7SHO36gx26IcdiB77ptm063LXQsUm1cG6uzxrpcm 9bja9QMa0nRre2btgz548aw14eFvHykpBn/JEt3OOMNolLLumBLVpHbUDuzYC2X9Zkvq AA8JOlQUSvJAa/okH1v5/nh4PY4zEPyJrXCQisJKFU+7htCngztHe0JrgtsXCXPmJznF DLN9jj5iGaPtG+upE3WRZGQMqNpl66Kg8IST8zHdPx1dPhg0N6vU1HDUeDdF3LTK0hYL B5Hg== X-Forwarded-Encrypted: i=1; AJvYcCUR+4cm8AVhItJ22zgEVIpgQn8R3IdkSy+pY9ODx+ZbDSivEze3ZiR+/XJb48Mq5qQ3/lVJHWd9m8P0Yera@postgresql.org X-Gm-Message-State: AOJu0YwfBsh4fgViDkRzehTM5XZ14KcWXWOXOl5vpJNx09wLjpDDzoK/ uJUYpyB2mQRYjLLAFAS9HN0XspHuFAd2OygFULL4N1eoluFDNCHn X-Gm-Gg: ASbGncvHrhYxfdSBtDLv+mtjDkjEHVbZXbCo7p9oV7URq+qSobxWyCctMeeDJRWzuza enTvoelpaz74dZplccDyGBlArXjb8cDwia7v4fkvh8q1QOMlgev1NmINmM/SVizFduQ7Il5yJsv LLGtYaxk48ucADuTvxISdr2tAkWmMT95rdigtNoE7Yc7jcniG/Tx6gEOr0yoplRjB34F4eKlmeN AQA3zk1Ghs03JyANnL/TP19sZX5qQ5LF+GyTBU3YrYGweNYgCPrZt7eUt7GIq//eFjWSB0Hz/+A MEQ+xg+kuMwXvNWMgO0ikvjTkOk7vTJNlciD5s63oe9+eyUaksxQvvaQketxrbwZX7JF+uv2URe tOUQ+kbdlCxsQBWk33OCH0qLXH/hp7f1Pdc1HPxjhq9zK5g== X-Google-Smtp-Source: AGHT+IEJaqC0/G69KtolphFKLQpfOlQBCmWZ9dFkVFRVgUB+vq7YTvRgfTfbIY3xRPaBVRtm6slfGA== X-Received: by 2002:a05:690c:6007:b0:6f7:ac3f:d589 with SMTP id 00721157ae682-6ff4605668bmr226157587b3.36.1742318945344; Tue, 18 Mar 2025 10:29:05 -0700 (PDT) Received: from nathan (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6ff3286a971sm26945897b3.47.2025.03.18.10.29.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 10:29:04 -0700 (PDT) Date: Tue, 18 Mar 2025 12:29:02 -0500 From: Nathan Bossart To: Andres Freund Cc: Tom Lane , Robert Haas , Greg Sabino Mullane , pgsql-hackers@postgresql.org, bruce@momjian.us Subject: Re: optimize file transfer in pg_upgrade Message-ID: References: <17820.1742306681@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Ukf87Lfr9gqv/mmI" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Ukf87Lfr9gqv/mmI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Mar 18, 2025 at 10:12:51AM -0400, Andres Freund wrote: > On 2025-03-18 10:04:41 -0400, Tom Lane wrote: >> Robert Haas writes: >> > I'm not quite sure what the best thing is to do is for the pg_upgrade >> > tests in particular, and it may well be best to do as you propose for >> > now and figure that out later. But I question whether just rerunning >> > all of those tests with several different mode flags is the right >> > thing to do. Why for example does 005_char_signedness.pl need to be >> > checked under both --link and --clone? I would guess that there are >> > one or maybe two tests in src/bin/pg_upgrade/t that needs to test >> > --link and --clone and they should grow internal loops to do that >> > (when supported by the local platform) and PG_UPGRADE_TEST_MODE should >> > go in the garbage. >> >> +1 >> >> I'd be particularly allergic to running 002_pg_upgrade.pl multiple >> times, as that's one of our most expensive tests, and I flat out >> don't believe that expending that many cycles could be justified. >> Surely we can test these modes sufficiently in some much cheaper and >> more targeted way. > > +1 Here is a first sketch at a test that cycles through all the transfer modes and makes sure they succeed or fail with an error along the lines of "not supported on this platform." Each test verifies that some very simple objects make it to the new version, which we could of course expand on. Would something like this suffice? -- nathan --Ukf87Lfr9gqv/mmI Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-Add-test-for-pg_upgrade-file-transfer-modes.patch"