You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While using HTTP2 server without any reverse proxy I noticed NodeJs process memory constantly increases, switching back to HTTPS and it works ok.
So I keep track of every HTTP2 stream using a WeakRef. After some hours there are so many valid WeakRefs although their destroyed field is true and session is undefined, also each stream has a buffer of 65kb. I have set HTTP2 Server timeout for 2 minutes, but some of streams are for hours before.
Then I kept a WeakRef to session for each stream, and while the session field of stream in undefined but its WeakRef is valid and the derefed session destroyed field is also true. I checked the remote address of the session in ss output and the connection doesn't exist there too.
I think some of sessions are destroyed but not removed from the sessions poll. It also destroy session streams and set its session to undefined but as it has a pointer in session's stream poll it's not garbage collected.
Maybe this is related to #42710
To overcome the memory increase I have to restart the node process every day and I think it's not really usable in this state.
list of streams:
The text was updated successfully, but these errors were encountered:
Version
v18.7.0
Platform
Linux 4.18.0-372.16.1.el8_6.0.1.x86_64
Subsystem
HTTP2
While using HTTP2 server without any reverse proxy I noticed NodeJs process memory constantly increases, switching back to HTTPS and it works ok.
So I keep track of every HTTP2 stream using a WeakRef. After some hours there are so many valid WeakRefs although their destroyed field is true and session is undefined, also each stream has a buffer of 65kb. I have set HTTP2 Server timeout for 2 minutes, but some of streams are for hours before.
Then I kept a WeakRef to session for each stream, and while the session field of stream in undefined but its WeakRef is valid and the derefed session destroyed field is also true. I checked the remote address of the session in ss output and the connection doesn't exist there too.
I think some of sessions are destroyed but not removed from the sessions poll. It also destroy session streams and set its session to undefined but as it has a pointer in session's stream poll it's not garbage collected.
Maybe this is related to #42710
To overcome the memory increase I have to restart the node process every day and I think it's not really usable in this state.
list of streams:
The text was updated successfully, but these errors were encountered: