v20.61.0 potentially introduced issue with internal backpressure tracking?
big stuff
This will be a poor report as I have little data and have jumped quite a few versions.
Previously running v20.47.0, now running v20.61.0.
For some reason, after a few hours of uptime in production, `socket.send` seems to begin returning `0` on _all_ sockets, both fresh and existing. I log the current backpressure for each socket when this occurs, and `socket.getBufferedAmount()` returns `0` for each socket.
No other changes have been introduced, other than moving from `Ubuntu 22.04; Node 22` to `Ubuntu 24.04; Node 24`.
- Notably, `app.publish` works without issue and sends messages as expected.
- This issue occurs with both `SHARED_COMPRESSOR` and `DEDICATED_COMPRESSOR_256KB`, I have yet to try any other options.
- This seems to only be occurring in production. Roughly ~100 continuous connections, with new connections replacing old connections regularly (let's say 1 conn drops and a new conn occurs every second or so). So far I haven 't replicated this in a staging/testing environment with very few connections.
- We run several individual instances on the same host, and it seems like this issue affects them all at roughly the same time (for clarity, they all receive roughly the same amount of traffic/connections, and all instances are started at the same time. They also all bind to the same ip:port).
- CPU usage nor memory usage indicate any issues/unexpected growth compared to v20.47.0
I'll test individual versions ranging from v20.47.0 to v20.61.0 next week and provide more data as I find it.
11 条评论