Skip to content

ADBM-3347: Fix backup.manifest.copy handling in repo-push - #110

Open
hilltracer wants to merge 2 commits into
2.54-cifrom
ADBM-3347
Open

ADBM-3347: Fix backup.manifest.copy handling in repo-push#110
hilltracer wants to merge 2 commits into
2.54-cifrom
ADBM-3347

Conversation

@hilltracer

@hilltracer hilltracer commented Aug 17, 2026

Copy link
Copy Markdown

repo-push updated only backup.manifest and left backup.manifest.copy unchanged,
although both manifests must represent the same state for completed backup.
Before modifying manifest, repo-push also loaded it with fallback to
backup.manifest.copy. As a result, running repo-push against resumable backups
could create main manifest and make incomplete backups appear complete.

Load only main manifest and remove fallback to its copy. Save updated manifest
to backup.manifest.copy first, then copy it to backup.manifest, following
backup completion semantics.

Persist calculated checksumRepoSha1 when updating custom files.

Extend test coverage and remove unused manifest fixture from compressed push
test.

Ticket: ADBM-3347

@hilltracer hilltracer changed the title ADBM-3347: Fix backup.manifest.copy for custom files ADBM-3347: Fix backup.manifest.copy handling in repo-push Aug 17, 2026
@hilltracer

hilltracer commented Aug 17, 2026

Copy link
Copy Markdown
Author

repo-push against resumable backups could create main manifest and make
incomplete backups appear complete

Backup may be interrupted after backup.manifest.copy is written but before backup.manifest is created. In this state, missing main manifest combined with existing copy marks backup as incomplete and resumable. Operations modifying backup must therefore not fall back to manifest copy. Otherwise, repo-push could load resumable manifest, create main manifest, and make incomplete backup appear complete.

There is also another issue with blocking (#99 (comment)), but it is beyond the scope of this patch.

Persist calculated checksumRepoSha1 when updating custom files.

See this message for more details: #99 (comment)
Don't add tests for this fix, because it is not used anywhere. Support verify command for custom files is not implemented (#99 (comment))

remove unused manifest fixture from compressed push
test.

See this message for more details: #99 (comment)

@hilltracer

hilltracer commented Aug 17, 2026

Copy link
Copy Markdown
Author

The problem on CI with Debian build cannot create .../doc/man/pgbackrest.1: Directory nonexistent is not related with current patch.

@hilltracer
hilltracer requested a review from dkovalev1 August 17, 2026 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant