Re: standby recovery fails (tablespace related) (tentative patch and discussion)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Paul Guo <guopa@vmware.com>, Ibrar Ahmed <ibrar.ahmad@gmail.com>,
Kyotaro Horiguchi <horikyota.ntt@gmail.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
Fujii Masao <masao.fujii@oss.nttdata.com>,
Anastasia Lubennikova <a.lubennikova@postgrespro.ru>,
Asim Praveen <pasim@vmware.com>,
"thomas.munro@gmail.com" <thomas.munro@gmail.com>,
"horiguchi.kyotaro@lab.ntt.co.jp" <horiguchi.kyotaro@lab.ntt.co.jp>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2021-09-24T18:14:52Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > The commit message for 0001 is not clear enough for me to understand > what problem it's supposed to be fixing. The code comments aren't > really either. They make it sound like there's some problem with > copying symlinks but mostly they just talk about callbacks, which > doesn't really help me understand what problem we'd have if we just > didn't commit this (or reverted it later). > I am not really convinced by Álvaro's claim that 0004 is a "fix"; I > think I'd call it an improvement. But either way I agree that could > just be committed. > I haven't analyzed 0002 and 0003 yet. I took a quick look through this: * I don't like 0001 either, though it seems like the issue is mostly documentation. sub _srcsymlink should have a comment explaining what it's doing and why. The documentation of copypath's new parameter seems like gobbledegook too --- I suppose it should read more like "By default, copypath fails if a source item is a symlink. But if B<srcsymlinkfn> is provided, that subroutine is called to process any symlink." * I'm allergic to 0002's completely undocumented changes to poll_query_until, especially since I don't see anything in the patch that actually uses them. Can't we just drop these diffs in PostgresNode.pm? BTW, the last error message in the patch, talking about a 5-second timeout, seems wrong. With or without these changes, poll_query_until's default timeout is 180 sec. The actual test case might be okay other than that nit and a comment typo or two. * 0003 might actually be okay. I've not read it line-by-line, but it seems like it's implementing a sane solution and it's adequately commented. * I'm inclined to reject 0004 out of hand, because I don't agree with what it's doing. The purpose of the rmgrdesc functions is to show you what is in the WAL records, and everywhere else we interpret that as "show the verbatim, numeric field contents". heapdesc.c, for example, doesn't attempt to look up the name of the table being operated on. 0004 isn't adhering to that style, and aside from being inconsistent I'm afraid that it's adding failure modes we don't want. regards, tom lane
Commits
-
Improve recently-added test reliability
- ad0e08394746 10.22 landed
- 9d5c96d9be64 14.5 landed
- 8c5d9ccca967 13.8 landed
- 782e5631e5dd 12.12 landed
- 772e6383d1da 11.17 landed
- 6c1c9f88ad54 16.0 landed
- 6390bc740f90 15.0 landed
-
Fix new recovery test for log_error_verbosity=verbose case
- b998196bb59a 16.0 cited
-
Fix test instability
- fcd72cf295c3 11.17 landed
- 7cfe688dee86 13.8 landed
- 798d64488ca9 15.0 landed
- 6ffaf75a8001 10.22 landed
- 658e5d53459f 12.12 landed
- 59be1c942a47 16.0 landed
- 4d8d85740c02 14.5 landed
-
Fix replay of create database records on standby
- 9e4f914b5eba 16.0 landed
- a3aacb7cbfc7 14.5 landed
- 9a7e26b9c2ac 13.8 landed
- 8348413dbded 15.0 landed
- 6d20f8c5a46a 12.12 landed
- 5a10c262fc60 11.17 landed
- 084318c33a1f 10.22 landed
- ffd28516e699 14.3 landed
- 50e3ed8e9172 13.7 landed
- 49d9cfc68bf4 15.0 landed
-
Allow "in place" tablespaces.
- 961cab0a5a90 14.5 landed
- 16e7a8fd8e97 13.8 landed
- ca347f5433ed 12.12 landed
- 7bdbbb87340f 10.22 landed
- 258c896418bf 11.17 landed
-
Fix get_dirent_type() for Windows junction points.
- fee0165fc1cf 14.5 landed
- 6d306ab73168 15.0 landed
- 9d3444dcce4d 16.0 landed
-
Revert "Fix replay of create database records on standby"
- bf902c13930c 15.0 landed
- adc943b4e1fe 14.3 landed
- a54ed2de80ec 13.7 landed
-
Add end-to-end testing of pg_basebackup's tar-format output.
- 081876d75ea1 14.0 cited
-
Make DROP DATABASE command generate less WAL records.
- e6d8069522c8 13.0 cited
-
Consolidate methods for translating a Perl path to a Windows path.
- 660a2b19038b 12.0 cited