@@ -403,6 +403,9 @@ do_merge(time_t backup_id)
403
403
* full backup directory.
404
404
* Remove unnecessary directories and files from full backup directory.
405
405
* Update metadata of full backup to represent destination backup.
406
+ *
407
+ * TODO: stop relying on caller to provide valid parent_chain, make sure
408
+ * that chain is ok.
406
409
*/
407
410
void
408
411
merge_chain (parray * parent_chain , pgBackup * full_backup , pgBackup * dest_backup )
@@ -481,8 +484,6 @@ merge_chain(parray *parent_chain, pgBackup *full_backup, pgBackup *dest_backup)
481
484
}
482
485
}
483
486
484
- /* TODO: Should we keep relying on caller to provide valid parent_chain? */
485
-
486
487
/* If destination backup compression algorithm differs from
487
488
* full backup compression algorithm, then in-place merge is
488
489
* not possible.
@@ -502,13 +503,19 @@ merge_chain(parray *parent_chain, pgBackup *full_backup, pgBackup *dest_backup)
502
503
program_version_match = true;
503
504
else
504
505
elog (WARNING , "In-place merge is disabled because of program "
505
- "versions mismatch" );
506
+ "versions mismatch: backup %s was produced by version %s, "
507
+ "but current program version is %s" ,
508
+ base36enc (dest_backup -> start_time ),
509
+ dest_backup -> program_version , PROGRAM_VERSION );
506
510
507
511
/* Construct path to database dir: /backup_dir/instance_name/FULL/database */
508
512
join_path_components (full_database_dir , full_backup -> root_dir , DATABASE_DIR );
509
513
/* Construct path to external dir: /backup_dir/instance_name/FULL/external */
510
514
join_path_components (full_external_prefix , full_backup -> root_dir , EXTERNAL_DIR );
511
515
516
+ elog (INFO , "Validate parent chain for backup %s" ,
517
+ base36enc (dest_backup -> start_time ));
518
+
512
519
/*
513
520
* Validate or revalidate all members of parent chain
514
521
* with sole exception of FULL backup. If it has MERGING status
0 commit comments