We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Describe the bug
When using "emitWithAck" on the server side, the memory is not freed when the acknowledgement timeout is reached.
I tested on 500 client connections, and the memory usage is 1557MB after 3 hours.
Steps:
To Reproduce
Socket.IO server version: 4.7.2
4.7.2
Server
try{ const responses = await socket.timeout(2000).to("room1").emitWithAck("event", "message"); } catch(err){ }
Socket.IO client version: 4.7.2
Client
socket.on("event", (data, callback) => { // Do not call callback, simulation timeout. // callback(1); });
Expected behavior
Should not leak memory
Platform:
18.18.0
win 10
Additional context
See broadcast-operator.ts timer, it seems that when timeout, ack function is not deleted from socket.acks.
The text was updated successfully, but these errors were encountered:
Hi! I could indeed reproduce the issue, thanks for the detailed analysis 👍
Not sure how we can fix this though, let me check.
Sorry, something went wrong.
No branches or pull requests
Describe the bug
When using "emitWithAck" on the server side, the memory is not freed when the acknowledgement timeout is reached.
I tested on 500 client connections, and the memory usage is 1557MB after 3 hours.
Steps:
To Reproduce
Socket.IO server version:
4.7.2
Server
Socket.IO client version:
4.7.2
Client
Expected behavior
Should not leak memory
Platform:
18.18.0
18.18.0
win 10
Additional context
See broadcast-operator.ts timer, it seems that when timeout, ack function is not deleted from socket.acks.
The text was updated successfully, but these errors were encountered: