Skip to content

Read all log files overlapping a partitioned restore window - #14382

Open
mpatou-openai wants to merge 2 commits into
apple:mainfrom
mpatou-openai:dev/mpatou/partitioned-restore-log-pagination
Open

mpatou-openai wants to merge 2 commits into
apple:mainfrom
mpatou-openai:dev/mpatou/partitioned-restore-log-pagination

Conversation

@mpatou-openai

@mpatou-openai mpatou-openai commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

A partitioned restore can finish successfully while omitting mutations. The dispatcher scanned at most 1,000 entries from the beginning of the log manifest for each version window, then filtered that page for overlap. If the first 1,000 files had expired, it could dispatch an empty log task even when later files covered the window.

The log task now reads all pages covering its half-open version window. It advances past the full metadata key so files with the same start version are preserved. Newly initialized restores record the longest log-file span to bound the lookup. Existing restores can scan from the start. Each page uses its own read transaction, and the matching file list no longer has to fit in one task parameter. New log tasks use version 2. Upgraded agents also re-read the manifest for queued version 1 tasks.

Added a regression with a matching file on each side of the 1,000-row boundary, multiple tags at one start version, and files touching both ends of the window. It exercises manifests with and without the span metadata. Built fdbclient_test and ran the focused test on this revision. One test passed, zero failed.

bin/fdbclient_test -f /backup/restore/partitionedLogFilePagination

@mpatou-openai
mpatou-openai force-pushed the dev/mpatou/partitioned-restore-log-pagination branch from ea10d2d to 7de529d Compare October 31, 2026 02:00
@mpatou-openai
mpatou-openai marked this pull request as ready for review November 2, 2026 17:07
@mpatou-openai
mpatou-openai force-pushed the dev/mpatou/partitioned-restore-log-pagination branch from 7de529d to 77611d6 Compare November 3, 2026 17:56

This branch has not been deployed

No deployments
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