summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2024-02-12 17:25:02 -0500
committerMark Felder <feld@feld.me>2024-02-17 09:53:52 -0500
commit7e99d0619d02835fab66134f14dd99fb4c313d26 (patch)
tree16febe222faed80065730080313705ae45036860
parent0fbec6b532330e86da9b396f31f9d5dd04990a9e (diff)
Force more frequent full_sweep GC runs on the Websocket processes
Websocket processes seem to be the primary culprit for Binary memory allocation bloat.
-rw-r--r--changelog.d/memleak.fix1
-rw-r--r--lib/pleroma/web/endpoint.ex6
2 files changed, 5 insertions, 2 deletions
diff --git a/changelog.d/memleak.fix b/changelog.d/memleak.fix
new file mode 100644
index 000000000..2465921c0
--- /dev/null
+++ b/changelog.d/memleak.fix
@@ -0,0 +1 @@
+Fix a memory leak caused by Websocket connections that would not enter a state where a full garbage collection run could be triggered.
diff --git a/lib/pleroma/web/endpoint.ex b/lib/pleroma/web/endpoint.ex
index 51a77ed60..2e2104904 100644
--- a/lib/pleroma/web/endpoint.ex
+++ b/lib/pleroma/web/endpoint.ex
@@ -14,7 +14,8 @@ defmodule Pleroma.Web.Endpoint do
websocket: [
path: "/",
compress: false,
- error_handler: {Pleroma.Web.MastodonAPI.WebsocketHandler, :handle_error, []}
+ error_handler: {Pleroma.Web.MastodonAPI.WebsocketHandler, :handle_error, []},
+ fullsweep_after: 20
]
)
@@ -27,7 +28,8 @@ defmodule Pleroma.Web.Endpoint do
],
timeout: 60_000,
transport_log: false,
- compress: false
+ compress: false,
+ fullsweep_after: 20
],
longpoll: false
)