Re: Backup command and functions can cause assertion failure and segmentation fault
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2022-07-07T00:09:35Z
Lists: pgsql-hackers
On Wed, Jul 06, 2022 at 11:27:58PM +0900, Fujii Masao wrote: > For the test, BASE_BACKUP needs to be canceled after it finishes > do_pg_backup_start(), i.e., checkpointing, and before it calls > do_pg_backup_stop(). So the timing to cancel that seems more severe > than the test added in 0475a97f. I'm afraid that some tests can > easily cancel the BASE_BACKUP while it's performing a checkpoint in > do_pg_backup_start(). So for now I'm thinking to avoid such an > unstable test. Hmm. In order to make sure that the checkpoint of the base backup is completed, and assuming that the checkpoint is fast while the base backup has a max rate, you could rely on a query that does a poll_query_until() on pg_control_checkpoint(), no? As long as you use IPC::Run::start, pg_basebackup would be async so the polling query and the cancellation can be done in parallel of it. 0475a97 did almost that, except that it waits for the WAL sender to be started. -- Michael
Commits
-
Add more TAP tests with BASE_BACKUP and pg_backup_start/stop
- ad341469b423 16.0 landed
-
Fix assertion failure and segmentation fault in backup code.
- 0829cc43ed69 15.0 landed
- b24b2be119c4 16.0 landed
- 2497d2b77091 10.22 landed
- 80c3ea918526 11.17 landed
- f0eb83f81447 12.12 landed
- 162ade612f15 13.8 landed
- be2e842c8a79 14.5 landed
-
Prevent BASE_BACKUP in the middle of another backup in the same session.
- 286793b9889f 15.0 landed
- ee79647769f5 16.0 landed
- dd831afc44bf 10.22 landed
- 87e504487740 11.17 landed
- 9fa00e312b31 12.12 landed
- 5630f39b31ea 13.8 landed
- 2aedf25eb4d0 14.5 landed