Skip to content

Fix abort transfer resharding idempotency#9215

Merged
timvisee merged 2 commits into
devfrom
consensus-abort-transfer-resharding-idempotent
May 29, 2026
Merged

Fix abort transfer resharding idempotency#9215
timvisee merged 2 commits into
devfrom
consensus-abort-transfer-resharding-idempotent

Conversation

@timvisee
Copy link
Copy Markdown
Member

The consensus operation for aborting resharding did not behave in an idempotent manner.

I attempted to implement this in #8917, but it turns out there's a second code path that conflicts with that change. This second path also (incorrectly) aborted the transfer before resharding, breaking consensus WAL replay.

This simply reorders this second place so that we always abort resharding before the transfer is aborted.

A test is included to assert correct behavior. The test fails without this change.

I'd consider this a hotfix. I'd rather remove the second path for aborting the transfer but it isn't immediately obvious to apply that because we call it from multiple places with different contexts. This hotfix is good enough to be merged and released without side effects.

All Submissions:

  • My PR targets the dev branch (not master) and my branch was created from dev.
  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Changes to Core Features:

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Have you successfully ran tests with your changes locally?

@timvisee timvisee requested review from ffuugoo and tellet-q May 28, 2026 08:53
coderabbitai[bot]

This comment was marked as resolved.

@qdrant qdrant deleted a comment from coderabbitai Bot May 28, 2026
@timvisee timvisee marked this pull request as ready for review May 28, 2026 15:28
@timvisee timvisee merged commit a06c210 into dev May 29, 2026
16 checks passed
@timvisee timvisee deleted the consensus-abort-transfer-resharding-idempotent branch May 29, 2026 09:44
timvisee added a commit that referenced this pull request Jun 3, 2026
* Abort resharding before we abort transfer

* Test resharding-down abort converges when a peer is killed mid-abort

---------

Co-authored-by: tellet-q <[email protected]>
@timvisee timvisee mentioned this pull request Jun 3, 2026
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.

3 participants