-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[release/7.0][browser][http] Fix blocking of streaming response and abort #81092
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
[release/7.0][browser][http] Fix blocking of streaming response and abort #81092
Conversation
- return bytes of streaming response as soon as available - fix unhandled error in reader.cancel() promise - return cancelable promise from http_wasm_get_streamed_response_bytes - unit test for slowly streamed chunks - unit test for streaming and default cancellation
|
Tagging subscribers to 'arch-wasm': @lewing Issue DetailsBackport of #80693
Customer ImpactTesting
Risk
|
|
please help me to check that the fix works for you @hakenr @oleneveu how to test it
I already tested it with
|
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
This comment was marked as resolved.
This comment was marked as resolved.
|
I think that's unhandled at https://github.com/protobuf-net/protobuf-net.Grpc/blob/8e89902f8a900fb2f603ea5d628e8a0b19de9d21/src/protobuf-net.Grpc/Internal/Reshape.cs#L554 @hakenr could you please comment ? Is that GRPC issue which is solved by your |
|
@pavelsavara Yes, this I will try this net7 branch with my repro later this week and confirm, but it seems the issue is fixed now ❤️. |
|
@pavelsavara One of my colleagues has tested the fix on our project were we had an issue with it and it works. Thanks! |
ping @hakenr, I would appreciate the confirmation. |
This comment was marked as resolved.
This comment was marked as resolved.
|
@hakenr if you are interested to make it work, please ping me at https://aka.ms/dotnet-discord and we could do it more interactively. If it's not something which seems like fun, no worries. I realized that since this is just change in dotnet.js I could give you just that file.
It should be largely compatible with 7.0.2 runtime and just work 🤞. |
|
@pavelsavara Many thanks for providing a much easier way to test the fix. |
|
The CI failures are on optional multi-threaded pipelines. |
|
@pavelsavara @maraf I am seeing many wasm failures in this PR's CI that I'm not seeing in other 7.0 PRs. Can you please investigate them and determine if they're related to this change? |
|
I just noticed the CI logs are gone (they were too old). So I'm closing and reopening the PR to run it again, and preferably on top of the latest fixes we merged for arm64 helix queues. |
The last runtime pipeline run looks good. The errors visible on github from runtime-wasm pipeline are not actual errors, as they come from multi-threaded lines which are expected to fail. |
|
@dotnet/dnceng I closed and reopened this PR last night to get a fresh set of CI results, and today I noticed the build results from the I clicked on "21 errors / 3 warnings" link. |
Looks like that did not cause the runtime-wasm pipeline to re-run. The results shown in GitHub are from two weeks ago. You can manually rerun from within the GitHub Checks UI, from the UI in Azure Pipelines, or using the |
|
Ah, thanks @garath for the clarification. As it was pointed out, the failures are not concerning, they are the same set that's considered unrelated to this change. |

Backport of #80693
Customer Impact
Fixes #79238
Fixes #80696
Testing
Risk
Impact is limited to
WebAssemblyEnableStreamingResponserequest option opt-in