fix(datastore): include late-bound DDSes in attach messages - #28213
Draft
shlevari wants to merge 1 commit into
Draft
fix(datastore): include late-bound DDSes in attach messages#28213shlevari wants to merge 1 commit into
shlevari wants to merge 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
|
Hi! Thank you for opening this PR. Want me to review it? Based on the diff (1507 lines, 12 files), I've queued these reviewers:
How this works
|
Contributor
Bundle size comparisonBase commit: Notable changes
Per-bundle deltas
|
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.
Description
Data store attach messages previously captured the channel summary and GC data in separate passes. If a DDS synchronously created and bound another DDS while either pass ran, the new DDS could become globally visible and submit ops without being included in the attach snapshot. Remote clients would then close with
0xa6b(Channel context not found) when processing those ops.This change captures attach summaries and GC data together until both cover the same complete set of bound DDSes. It also replaces the unknown-channel assert with a diagnostic
DataProcessingErrorand corrects the equivalent fixed-point traversal for nested data stores.Regression coverage includes a local-server test that creates a DDS during attach GC generation, submits an op through it, reloads the document in another container, and verifies the DDS and its data round-trip successfully.
AB#76716
Reviewer Guidance
The review process is outlined in the pull request guidelines.
The main review focus is the bounded combined-capture loop in
FluidDataStoreRuntimeand the optional internal cross-layer fallback for older or custom data store channel implementations.