Skip to content

Fix 1980, allow more downstairs state transitions - #1984

Merged
leftwo merged 2 commits into
mainfrom
alan/issue-1980
Oct 7, 2026
Merged

leftwo merged 2 commits into
mainfrom
alan/issue-1980

Conversation

@leftwo

@leftwo leftwo commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

When a LiveRepair is in progress and all three downstairs go away, we fall back to reconciliation, even though the upstairs is active. If we then have another failure during the reconciliation, we must allow a downstairs to transition to faulted to then restart the reconciliation. Flagging this state transition as invalid was a bug and this fixes that.

Fix for #1980

When a LiveRepair is in progress and all three downstairs
go away, we fall back to reconciliation, even though the
upstairs is active.  If we then have another failure during
the reconciliation, we must allow a downstairs to transition
to faulted to then restart the reconciliation.  Flagging this
state transition as invalid was a bug and this fixes that.
@leftwo
leftwo requested a review from jmpesp September 30, 2026 17:22

@jmpesp jmpesp left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢 pending the comment

Comment thread upstairs/src/upstairs.rs Outdated
// active, put all three into live-repair so that we fall back to
// reconciliation while the upstairs is active, then abort that
// reconciliation. The downstairs should restart and come back
// through live-repair, instead of panicking on an invalid state

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/s/live-repair/reconciliation? also this test doesn't seem to validate this last part (that they enter reconciliation after the abort)

@leftwo leftwo added this to the 24 milestone Oct 4, 2026
Extend test_downstairs_three_live_repair_failed_reconcile to bring all
three downstairs back to LiveRepairReady after the aborted
reconciliation, and verify that they all re-enter reconciliation.
@leftwo
leftwo merged commit bd62980 into main Oct 7, 2026
20 of 21 checks passed
@leftwo
leftwo deleted the alan/issue-1980 branch October 7, 2026 23:03
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.

2 participants