Re: Windows pg_basebackup unable to create >2GB pg_wal.tar tarballs ("could not close file: Invalid argument" when creating pg_wal.tar of size ~ 2^31 bytes)
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Jakub Wartak <jakub.wartak@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Davinder Singh <davinder.singh@enterprisedb.com>, Dilip Kumar <dilip.kumar@enterprisedb.com>
Date: 2024-12-05T16:35:24Z
Lists: pgsql-hackers
On Wed, Dec 4, 2024 at 11:23 PM Thomas Munro <thomas.munro@gmail.com> wrote: > Wow, what a lot of variations we have to handle with no coverage. I'm > coming around to your proposal Robert. We decide that it is OK to > back-patch freely, under a policy along the lines "we try to keep > stable branches working on the latest MinGW toolchain version only, as > a developer convenience". Even if it creates contradictions in > back-branches (using some stuff unguarded, even if other stuff is > guarded because it needed to be at the time). I'm not sure what > quorum is needed for such a decree, but from a verification point of > view, that's the effective reality already. An interested party would > need to show up with the resources to maintain another platform > variant; so yeah, why not let them do that, if something we back-patch > turns out to be a real problem for them? I don't want to go too far in the direction of being willing to break things in the back-branches, for obvious reasons. But in a case like this, we definitely have a bug that is affecting users on Windows, and we can't verify whether the fallback code is correct or would ever be used by anyone. If you think that fallback code is reasonably likely to be correct and work, I'm not against including it. But if we really have no idea, then IMHO it's reasonable to ship something that we expect to cause a hard failure on such platforms if they exist (like a missing symbol). That way, if they do exist, we'll be more likely to find about it and therefore more likely to be able to deliver a complete and proper fix, vs. shipping something that might be quite wrong and praying that it isn't. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
-
Fix off_t overflow in pg_basebackup on Windows.
- bd0564f61d37 13.19 landed
- 8f40d46126a0 14.16 landed
- 6b6901a26f56 15.11 landed
- be7489662e77 16.7 landed
- faee3185aafa 17.3 landed
- 970b97eeb8f0 18.0 landed
-
Provide 64-bit ftruncate() and lseek() on Windows.
- 026762dae39d 18.0 landed
- af109e3399b6 17.3 landed
- 0bff6f1da842 16.7 landed
- 70a7a37610f7 15.11 landed
- 1636c5e56ed7 14.16 landed
- d02486cc8e0a 13.19 landed
-
Require ucrt if using MinGW.
- 1758d4244616 18.0 cited