-
Notifications
You must be signed in to change notification settings - Fork 118
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
[reactor-grpc] Cancel signal should be ignored once Complete has been seen #194
Comments
cc @OlegDokuka |
Thanks for the report @ericbottard. Would it be possible to provide a test case? |
Sadly I don't think I have a simple to reproduce test-case for you. You can have a look at the implementation in the linked PR above, but you may not be able to make much sense of it. To reproduce simply, you'd need to rpc invoke a
function where:
|
That can happen. While gRPC functions like a reactive stream most of the time, it does not comply with many of the rules of the reactive-streams spec, especially around stream cancellation. |
@ericbottard Were you able to find a work around, or is this issue a blocker for you? |
@rmichela We've got a workaround for now, namely bridging the reactive-grpc Flux with one that won't forward |
Closing due to lack of repro. |
Per the reactive-streams spec items 1.6 and 3.7 combined, once a stream is complete, any cancel signal should be ignored.
This is not the case with reactor-grpc, which can have drastic effects as we saw in the following setup: Use of the
groupBy()
operator, which happens tocancel()
in addition to regularcomplete()
, on an rpc input Flux led to the cancellation of the output Flux as well, which is not intended.The text was updated successfully, but these errors were encountered: