Skip to content

Commit 9956293

Browse files
committed
docs: clarify scope of the snapshot base-page-reused refusal
Reword the SnapshotBasePageReused note: the refusal fires on any page the follower's base state still holds, not only pages in the free-list chain or commit-history tree, and copy-on-write's continuous page-id recycling means followers should expect it within a few deltas under ordinary write churn.
1 parent b4676c8 commit 9956293

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ version, since none exists yet.
5353
- Single-writer per database; multi-writer cross-process is not supported.
5454
- Writes carry per-page AEAD and copy-on-write overhead; for throughput-bound
5555
plaintext KV workloads a generic store may be faster.
56-
- An incremental snapshot cannot always be applied: if the producer recycled a
57-
page the follower's own free-list chain or commit-history tree still hosts,
58-
apply reports `PagedbError::SnapshotBasePageReused` and the follower needs a
59-
full snapshot or a nearer base commit.
56+
- An incremental snapshot cannot always be applied: if the producer recycled any
57+
page the follower's base state still holds, apply reports
58+
`PagedbError::SnapshotBasePageReused` and the follower needs a full snapshot or
59+
a nearer base commit. Copy-on-write recycles page ids continuously, so a
60+
follower should expect this within a few deltas under ordinary write churn and
61+
must be able to fall back to a full snapshot. The refusal is checked before any
62+
page is written, so it leaves the follower unchanged.

0 commit comments

Comments
 (0)