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

Fix session initialization concurrency issue in SockJS session implementations [SPR-11916] #16535

Closed
spring-projects-issues opened this issue Jun 25, 2014 · 0 comments
Assignees
Labels
in: web type: bug
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

@spring-projects-issues spring-projects-issues commented Jun 25, 2014

Rossen Stoyanchev opened SPR-11916 and commented

There is a general assumption in WebSocket servers that applications must synchronize sending messages through the session (and the STOMP messaging support takes care of that).

The same assumption also applies when using SockJS, which is just another WebSocketSession implementation. However, load testing with a high number of concurrent users using the new SockJS client #15423 has revealed a few cases specific to SockJS.

For example when the SockJS session relies on an actual WebSocket it must ensure the application WebSocketHandler is notified of the open session before sending the open frame. Otherwise it is technically possible for the WebSocketHandler to receive messages before the afterConnectionEstablished callback.

The same applies when the SockJS session relies on HTTP long polling except in this case there is further contention not just among application threads sending messages but also between those and periodic long polling requests from the client to resume receiving messages.


Affects: 4.0.5

@spring-projects-issues spring-projects-issues added type: bug in: web labels Jan 11, 2019
@spring-projects-issues spring-projects-issues added this to the 4.0.6 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 type: bug
Projects
None yet
Development

No branches or pull requests

2 participants