Convert EditFailedMessageManager to an atomic write operation - #5763
Open
rbev wants to merge 3 commits into
Open
Convert EditFailedMessageManager to an atomic write operation#5763rbev wants to merge 3 commits into
rbev wants to merge 3 commits into
Conversation
rbev
marked this pull request as ready for review
August 13, 2026 08:23
rbev
force-pushed
the
rhys/atomic-commit2
branch
from
August 13, 2026 08:23
a9afb92 to
84f4f60
Compare
johnsimons
reviewed
Aug 14, 2026
| /// <param name="Outcome">The acquisition outcome.</param> | ||
| /// <param name="FailedMessage">The snapshot used to dispatch an acquired or idempotently reacquired edit.</param> | ||
| /// <param name="ExistingEditId">The existing claim for an idempotent retry or competing edit.</param> | ||
| public sealed record BeginEditResult(BeginEditOutcome Outcome, FailedMessage? FailedMessage = null, string? ExistingEditId = null); |
johnsimons
approved these changes
Aug 14, 2026
rbev
force-pushed
the
rhys/atomic-commit2
branch
from
August 14, 2026 01:51
84f4f60 to
581ce57
Compare
rbev
force-pushed
the
rhys/atomic-commit2
branch
from
August 14, 2026 03:21
581ce57 to
8549437
Compare
rbev
force-pushed
the
rhys/atomic-commit2
branch
from
August 14, 2026 03:51
8549437 to
dd73e29
Compare
rbev
force-pushed
the
rhys/atomic-commit2
branch
from
August 14, 2026 05:09
dd73e29 to
28eb20d
Compare
rbev
force-pushed
the
rhys/atomic-commit2
branch
from
August 14, 2026 05:26
28eb20d to
1a50a93
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request refactors and simplifies the "edit failed message" workflow in both EF Core and RavenDB persistence implementations. It removes the manager/session-based pattern in favor of explicit, atomic data store operations, clarifies persistence guidelines, and updates tests to match the new approach. The result is clearer, more robust, and easier-to-maintain persistence APIs for editing failed messages.
Persistence API refactoring and simplification:
EditFailedMessagesManagerand session-based workflow in both EF Core and RavenDB with direct, atomic methods (TryBeginEdit,GetCurrentEditingRequestId) on the data store classes, eliminating the need for manager objects and implicit state. [1] [2] [3] [4]Concurrency and atomicity improvements:
Documentation updates:
Test updates and coverage:
Code cleanup: