Skip to content
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

[dwds] Add unbatching retry mechanism for failing batched expression evals #2552

Merged
merged 3 commits into from
Dec 20, 2024

Conversation

biggs0125
Copy link
Contributor

If a single subexpression throws in a batched request, the whole batch fails. DevTools is using this API to evaluate all the fields/getters on an Object. If any of those getters throw, all the queried members fail to show information.

Instead if the initial batched request fails we can retry each request as individual expression evals. This will correctly surface errors for the subexpression that throws and the proper values for all the other subexpressions.

See #2551

@biggs0125
Copy link
Contributor Author

Worth noting I patched this into Flutter tools to verify it fixed the attached issue.

Copy link
Collaborator

@bkonyi bkonyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix Nate! Would it be possible to add a test for this?

@biggs0125
Copy link
Contributor Author

Added a test!

Copy link
Collaborator

@bkonyi bkonyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks!

@biggs0125 biggs0125 merged commit 3684897 into dart-lang:main Dec 20, 2024
45 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants