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.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add tests to check for DDSs sending duplicate attach ops on handle encode #20995
Add tests to check for DDSs sending duplicate attach ops on handle encode #20995
Changes from all commits
cb082b5
f1a0931
d7beb2d
986ee42
7a1fefc
53abedd
56c2de2
0e6d8aa
e9bff65
6b8f8f7
7f59cc5
9b0350e
26ae640
3d47ace
213ebee
653f648
57d5196
22bfb79
5b25f7f
2c19610
b3894e0
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jzaffiro - This is a different test case than what I remember seeing last week.
This:
What I remember:
Did you confirm that these tests fail without the bindHandles call and without Tony's fix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These tests do fail without calling bindHandles and without Tony's fix. I also might have gotten confused on the test scenario, but looking at the commit we protoyped it seems like the test case was:
I planned on doing a follow up anyway, so I can add the second test case you point out in that PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's great to know you verified the test coverage.
As for the other test case - you're right that this is what the test was doing. But when we were debugging, it was the test fluid object initialization for DataStoreB that was storing handles between DDSes, and that was the part that was causing multiple attach ops. Super subtle.
My concern is that all these test cases are actually just testing Map under the hood, because it's in DataStoreB's root Map where the handles are stored that actually matter.
cc @anthony-murphy as FYI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI this code already exists here: https://github.com/microsoft/FluidFramework/tree/main/packages/loader/container-loader/src/catchUpMonitor.ts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, almost... it doesn't support passing a custom target in. Oh well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But maybe if you do provider.ensuresynchronized before loading container2, it would work