Skip to content

Skip orphaned message reassignment in Solo durability mode#2305

Merged
jeremydmiller merged 1 commit intomainfrom
solo-recover
Mar 13, 2026
Merged

Skip orphaned message reassignment in Solo durability mode#2305
jeremydmiller merged 1 commit intomainfrom
solo-recover

Conversation

@jeremydmiller
Copy link
Member

Summary

  • Prevents orphaned message release operations (ReleaseOrphanedMessagesOperation and ReleaseOrphanedMessagesForAncillaryOperation) from running when DurabilityMode = Solo
  • Solo mode is single-node optimized, so reclaiming messages from "dead nodes" is unnecessary and could cause unintended side effects during local dev restarts
  • Bumps version to 5.19.1

Changes

  • DurabilityAgent.buildOperationBatch() — conditionally excludes orphaned message release operations when Solo mode is active
  • DurabilityAgent recovery timer — skips loading active nodes from persistence when Solo mode is active
  • Added 3 tests verifying Solo mode excludes orphaned release operations and Balanced mode includes them

Test plan

  • New tests pass: solo_mode_build_operation_batch_excludes_orphaned_release, solo_mode_build_operation_batch_excludes_orphaned_release_even_with_active_nodes, balanced_mode_build_operation_batch_includes_orphaned_release
  • Full SqlServerTests suite passes (298/298)

🤖 Generated with Claude Code

Solo mode is single-node optimized, so there are no "other nodes" whose
orphaned messages need to be reclaimed. This avoids unnecessary database
operations and prevents unintended message ownership changes during local
development restarts. Bumps version to 5.19.1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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