Skip to content

Commit ad5449f

Browse files
committed
PGPRO-1918: Add more informative messages
1 parent 883464f commit ad5449f

File tree

6 files changed

+33
-6
lines changed

6 files changed

+33
-6
lines changed

src/backup.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -978,7 +978,8 @@ do_backup(time_t start_time)
978978
if (pgBackupCreateDir(&current))
979979
elog(ERROR, "Cannot create backup directory");
980980
if (!lock_backup(&current))
981-
elog(ERROR, "Cannot lock backup directory");
981+
elog(ERROR, "Cannot lock backup %s directory",
982+
base36enc(current.start_time));
982983
write_backup(&current);
983984

984985
elog(LOG, "Backup destination is initialized");

src/catalog.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -433,8 +433,12 @@ catalog_lock_backup_list(parray *backup_list, int from_idx, int to_idx)
433433
end_idx = Min(from_idx, to_idx);
434434

435435
for (i = start_idx; i >= end_idx; i--)
436-
if (!lock_backup((pgBackup *) parray_get(backup_list, i)))
437-
elog(ERROR, "Cannot lock backup directory");
436+
{
437+
pgBackup *backup = (pgBackup *) parray_get(backup_list, i);
438+
if (!lock_backup(backup))
439+
elog(ERROR, "Cannot lock backup %s directory",
440+
base36enc(backup->start_time));
441+
}
438442
}
439443

440444
/*

src/delete.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,11 @@ do_retention_purge(void)
207207
* backup.
208208
*/
209209
if (!lock_backup(backup))
210+
{
211+
elog(WARNING, "Cannot lock backup %s directory, skip purging",
212+
base36enc(backup->start_time));
210213
continue;
214+
}
211215

212216
/* Delete backup and update status to DELETED */
213217
delete_backup_files(backup);

src/restore.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,17 @@ do_restore_or_validate(time_t target_backup_id, pgRecoveryTarget *rt,
318318

319319
/* Do not interrupt, validate the next backup */
320320
if (!lock_backup(tmp_backup))
321-
continue;
321+
{
322+
if (is_restore)
323+
elog(ERROR, "Cannot lock backup %s directory",
324+
base36enc(tmp_backup->start_time));
325+
else
326+
{
327+
elog(WARNING, "Cannot lock backup %s directory, skip validation",
328+
base36enc(tmp_backup->start_time));
329+
continue;
330+
}
331+
}
322332

323333
pgBackupValidate(tmp_backup);
324334
/* After pgBackupValidate() only following backup

src/validate.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,11 @@ do_validate_instance(void)
444444

445445
/* Do not interrupt, validate the next backup */
446446
if (!lock_backup(current_backup))
447+
{
448+
elog(WARNING, "Cannot lock backup %s directory, skip validation",
449+
base36enc(current_backup->start_time));
447450
continue;
451+
}
448452
/* Valiate backup files*/
449453
pgBackupValidate(current_backup);
450454

@@ -532,7 +536,11 @@ do_validate_instance(void)
532536
{
533537
/* Do not interrupt, validate the next backup */
534538
if (!lock_backup(backup))
539+
{
540+
elog(WARNING, "Cannot lock backup %s directory, skip validation",
541+
base36enc(backup->start_time));
535542
continue;
543+
}
536544
/* Revaliate backup files*/
537545
pgBackupValidate(backup);
538546

tests/locking.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ def test_locking_restore_locked(self):
327327
node.slow_start()
328328

329329
# FULL
330-
self.backup_node(backup_dir, 'node', node)
330+
full_id = self.backup_node(backup_dir, 'node', node)
331331

332332
# PAGE1
333333
backup_id = self.backup_node(backup_dir, 'node', node, backup_type='page')
@@ -353,7 +353,7 @@ def test_locking_restore_locked(self):
353353
repr(self.output), self.cmd))
354354
except ProbackupException as e:
355355
self.assertTrue(
356-
"Insert expected error message" in e.message,
356+
"ERROR: Cannot lock backup {0} directory\n".format(full_id) in e.message,
357357
'\n Unexpected Error Message: {0}\n CMD: {1}'.format(
358358
repr(e.message), self.cmd))
359359

0 commit comments

Comments
 (0)