Skip to content

ChannelSendOperator does not propagate cancel signal to the server [SPR-17609] #22141

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

Closed
spring-projects-issues opened this issue Dec 18, 2018 · 0 comments
Assignees
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) status: backported An issue that has been backported to maintenance branches type: bug A general bug
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues commented Dec 18, 2018

Rossen Stoyanchev opened SPR-17609 and commented

This is a follow-up to #22038 in which writing with Content-Length: 0 and byte[0] was causing hanging. The issue was fixed in 5.1.3 by using response.setComplete() instead of writing an empty byte array. However the underlying issue of hanging with Content-Length: 0 and byte[0] remains.

After further investigation, there is an issue in ChanelSendOperator in that it currently only cancels the upstream write Publisher. So in a case where a cancel happens after the first signal (onNext, onError, onComplete) is emitted, and therefore after the server write Subscriber is hooked in, in that scenario only the upstream write Publisher is notified to stop sending, but the server write Subscriber is not aware.

In addition to the sample in #22038 there is also a sample in reactor/reactor-netty#518.


Affects: 5.1.3

Issue Links:

Referenced from: commits 09da10c

Backported to: 5.0.12

@spring-projects-issues spring-projects-issues added type: bug A general bug status: backported An issue that has been backported to maintenance branches in: web Issues in web modules (web, webmvc, webflux, websocket) labels Jan 11, 2019
@spring-projects-issues spring-projects-issues added this to the 5.1.4 milestone Jan 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: web Issues in web modules (web, webmvc, webflux, websocket) status: backported An issue that has been backported to maintenance branches type: bug A general bug
Projects
None yet
Development

No branches or pull requests

2 participants