-
Notifications
You must be signed in to change notification settings - Fork 532
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[v2.2] Port #22508 and prereqs (ContainerRuntime: Process incoming ba…
…tches op-by-op instead of waiting for the whole batch) (#22654) ## Description Porting the following commits from `main` to `release/client/2.2`: * ce0a14c (Offline: Model empty batches differently, exposing the empty Grouped Batch message to more of the system) * e024b86 (ContainerRuntime: Refactor batch processing code to support either op-by-op or batch-all-at-once semantics) * 709f085 (ContainerRuntime: Process incoming batches op-by-op instead of waiting for the whole batch) ## Reviewer Guidance There was a ton of churn between 2.2 and 2.3 in this code (subset of [these changes to container-runtime dir](https://github.com/microsoft/FluidFramework/commits/release/client/2.3/packages/runtime/container-runtime?since=2024-08-17)), so the cherry-pick turned into more like a manual re-implementing of the change. In some ways it's a smaller diff compared to what needed to happen in `main`. So please review carefully as you would an original PR.
- Loading branch information
1 parent
1d1d489
commit 567feff
Showing
8 changed files
with
469 additions
and
234 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
--- | ||
"@fluidframework/container-runtime": minor | ||
--- | ||
--- | ||
"section": "fix" | ||
--- | ||
Restored old op processing behavior around batched ops to avoid potential regression | ||
|
||
There's a theoretical risk of indeterminate behavior due to a recent change to how batches of ops are processed. | ||
This fix reverses that change. | ||
|
||
Pull Request #21785 updated the ContainerRuntime to hold onto the messages in an incoming batch until they've all arrived, and only then process the set of messages. | ||
|
||
While the batch is being processed, the DeltaManager and ContainerRuntime's view of the latest sequence numbers will be | ||
out of sync. This may have unintended side effects, so out of an abundance of caution we're reversing this behavior until | ||
we can add the proper protections to ensure the system stays properly in sync. |
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.