Re: sendFileWithContent() does not advance the source pointer
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Antonin Houska <ah@cybertec.at>
Cc: pgsql-hackers@postgresql.org
Date: 2022-12-12T15:40:38Z
Lists: pgsql-hackers
On Thu, Dec 8, 2022 at 2:43 PM Antonin Houska <ah@cybertec.at> wrote: > When checking something else in the base backup code, I've noticed that > sendFileWithContent() does not advance the 'content' pointer. The sink buffer > is large enough (32kB) so that the first iteration usually processes the whole > file (only special files are processed by this function), and thus that the > problem is hidden. > > However it's possible to hit the issue: if there are too many tablespaces, > pg_basebackup generates corrupted tablespace_map. Instead of writing all the > tablespace paths it writes only some and then starts to write the contents > from the beginning again. Thanks for the report, analysis, and fix. I have committed your patch and back-patched to v15. -- Robert Haas EDB: http://www.enterprisedb.com
Commits
-
Fix failure to advance content pointer in sendFileWithContent.
- 8b5ba2f3f40a 15.2 landed
- 45f5c81ad2bc 16.0 landed