Skip to content

Commit b826a0a

Browse files
committed
PGPRO-1918: be more paranoid in instance validation, orphanize descendants of all not OK backups, not only CORRUPT
1 parent 8c9dcbe commit b826a0a

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

src/validate.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -457,14 +457,14 @@ do_validate_instance(void)
457457
/*
458458
* Mark every descendant of corrupted backup as orphan
459459
*/
460-
if (current_backup->status == BACKUP_STATUS_CORRUPT)
460+
if (current_backup->status != BACKUP_STATUS_OK)
461461
{
462462
/* This is ridiculous but legal.
463-
* PAGE1_2b <- OK
464-
* PAGE1_2a <- OK
465-
* PAGE1_1b <- ORPHAN
466-
* PAGE1_1a <- CORRUPT
467-
* FULL1 <- OK
463+
* PAGE_b2 <- OK
464+
* PAGE_a2 <- OK
465+
* PAGE_b1 <- ORPHAN
466+
* PAGE_a1 <- CORRUPT
467+
* FULL <- OK
468468
*/
469469

470470
corrupted_backup_found = true;
@@ -503,14 +503,14 @@ do_validate_instance(void)
503503
pgBackup *tmp_backup = NULL;
504504
int result;
505505

506-
//PAGE3b ORPHAN
507-
//PAGE2b ORPHAN -----
508-
//PAGE6a ORPHAN |
509-
//PAGE5a CORRUPT |
510-
//PAGE4a missing |
511-
//PAGE3a missing |
512-
//PAGE2a ORPHAN |
513-
//PAGE1a OK <- we are here <-|
506+
//PAGE_b2 ORPHAN
507+
//PAGE_b1 ORPHAN -----
508+
//PAGE_a5 ORPHAN |
509+
//PAGE_a4 CORRUPT |
510+
//PAGE_a3 missing |
511+
//PAGE_a2 missing |
512+
//PAGE_a1 ORPHAN |
513+
//PAGE OK <- we are here<-|
514514
//FULL OK
515515

516516
if (is_parent(current_backup->start_time, backup, false))

0 commit comments

Comments
 (0)