You've already forked pgbackrest
							
							
				mirror of
				https://github.com/pgbackrest/pgbackrest.git
				synced 2025-10-30 23:37:45 +02:00 
			
		
		
		
	Fix backup labels in mock/all resume integration tests.
These were not getting updated to match the directory name when the manifests were copied. The Perl code didn't care but the C code expects labels to be set correctly.
This commit is contained in:
		| @@ -440,8 +440,9 @@ sub run | ||||
|         # Resume by copying the valid full backup over the last aborted full backup if it exists, or by creating a new path | ||||
|         my $strResumeBackup = (storageRepo()->list( | ||||
|             STORAGE_REPO_BACKUP, {strExpression => backupRegExpGet(true, true, true), strSortOrder => 'reverse'}))[0]; | ||||
|         my $strResumePath = storageRepo()->pathGet('backup/' . $self->stanza() . '/' . | ||||
|             ($strResumeBackup ne $strFullBackup ? $strResumeBackup : backupLabel(storageRepo(), $strType, undef, time()))); | ||||
|         my $strResumeLabel = $strResumeBackup ne $strFullBackup ? | ||||
|             $strResumeBackup : backupLabel(storageRepo(), $strType, undef, time()); | ||||
|         my $strResumePath = storageRepo()->pathGet('backup/' . $self->stanza() . '/' . $strResumeLabel); | ||||
|  | ||||
|         forceStorageRemove(storageRepo(), $strResumePath, {bRecurse => true}); | ||||
|         forceStorageMove(storageRepo(), 'backup/' . $self->stanza() . "/${strFullBackup}", $strResumePath); | ||||
| @@ -458,7 +459,8 @@ sub run | ||||
|  | ||||
|         $oHostBackup->manifestMunge( | ||||
|             basename($strResumePath), | ||||
|             {&MANIFEST_SECTION_TARGET_FILE => | ||||
|             {&MANIFEST_SECTION_BACKUP => {&MANIFEST_KEY_LABEL => $strResumeLabel}, | ||||
|                 &MANIFEST_SECTION_TARGET_FILE => | ||||
|                     {(&MANIFEST_TARGET_PGDATA . '/' . &DB_FILE_PGVERSION) => {&MANIFEST_SUBKEY_CHECKSUM => undef}}}, | ||||
|             false); | ||||
|  | ||||
| @@ -869,9 +871,8 @@ sub run | ||||
|         $strType = CFGOPTVAL_BACKUP_TYPE_INCR; | ||||
|  | ||||
|         # Create resumable backup from last backup | ||||
|         $strResumePath = | ||||
|             storageRepo()->pathGet('backup/' . $self->stanza() . '/' . | ||||
|             backupLabel(storageRepo(), $strType, substr($strBackup, 0, 16), time())); | ||||
|         $strResumeLabel = backupLabel(storageRepo(), $strType, substr($strBackup, 0, 16), time()); | ||||
|         $strResumePath = storageRepo()->pathGet('backup/' . $self->stanza() . '/' . $strResumeLabel); | ||||
|  | ||||
|         forceStorageRemove(storageRepo(), $strResumePath); | ||||
|         forceStorageMove(storageRepo(), 'backup/' . $self->stanza() . "/${strBackup}", $strResumePath); | ||||
| @@ -891,6 +892,10 @@ sub run | ||||
|             storageRepo()->put("${strResumePath}/pg_data/badchecksum.txt", 'BDDCHECKSUM'); | ||||
|         } | ||||
|  | ||||
|         # Write correct label into resumable manifest | ||||
|         $oHostBackup->manifestMunge( | ||||
|             basename($strResumePath), {&MANIFEST_SECTION_BACKUP => {&MANIFEST_KEY_LABEL => $strResumeLabel}},false); | ||||
|  | ||||
|         # Change contents/size of a db file to make sure it recopies (and does not resume) | ||||
|         $oHostDbMaster->manifestFileCreate( | ||||
|             \%oManifest, MANIFEST_TARGET_PGDATA, 'changesize.txt', 'SIZE+MORE', '3905d5be2ec8d67f41435dab5e0dcda3ae47455d', $lTime, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user