Moved to v0.3.1, split out of v0.3.0.
The reason, stated so the decision is reviewable rather than silent: v0.3.0 is the repair arc — segment transfer (#270), live replica replacement (#242), and the deployment shapes that exercise them. This issue is the failover correctness arc, and it is five substantive items — epoch-qualified offsets needing a new wire message plus per-segment epoch bookkeeping, follower truncation driven by elections, pre-probe fencing, a new-epoch marker record type, and a signed transition statement. That is several PRs on its own and by some distance the largest single item open.
Keeping them in one milestone meant four items that are close to done could not ship until the one that is not. Nothing here is deprioritised; it is sequenced.
Two things landed today that this arc now builds on rather than waits for:
Item 4's dependency is worth re-reading before starting: #265's new-epoch marker was withdrawn because the protocol rejects zero-record replica appends and the marker did not close the hazard claimed for it. Whatever shape this takes needs to answer that first.
Moved to v0.3.1, split out of v0.3.0.
The reason, stated so the decision is reviewable rather than silent: v0.3.0 is the repair arc — segment transfer (#270), live replica replacement (#242), and the deployment shapes that exercise them. This issue is the failover correctness arc, and it is five substantive items — epoch-qualified offsets needing a new wire message plus per-segment epoch bookkeeping, follower truncation driven by elections, pre-probe fencing, a new-epoch marker record type, and a signed transition statement. That is several PRs on its own and by some distance the largest single item open.
Keeping them in one milestone meant four items that are close to done could not ship until the one that is not. Nothing here is deprioritised; it is sequenced.
Two things landed today that this arc now builds on rather than waits for:
scripts/k8s-smoke.shdeploys it and asserts quorum durability with both followers durably applied).Item 4's dependency is worth re-reading before starting: #265's new-epoch marker was withdrawn because the protocol rejects zero-record replica appends and the marker did not close the hazard claimed for it. Whatever shape this takes needs to answer that first.