Commit 3707844
Fix persistence workers never terminating (#401)
Hey!
This PR fixes an issue where memory is never reclaimed and keeps rising,
due to persistence workers never shutting down and freeing up the used
memory.
I'm running y-sweet as a long-running service, instead of via Plane or
another way to spin up a process per "room". And while experimenting I
also allowed images to be uploaded to the room state, which made the
fact that there was something up with the memory usage very visible, and
after adding a bit of logging/monitoring I could see that the number of
persistence workers never decreased.
In order to fix this, this PR adds a link between the GC Worker and the
persistence worker. When the GC detects that there's no more references
to the document it also notifies the persistence worker to shut down,
and when it does the memory is also freed.
Co-authored-by: Per-Victor Persson <pepe@netlight.com>1 parent 3d0b9c2 commit 3707844
2 files changed
Lines changed: 20 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| 48 | + | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
51 | | - | |
| 53 | + | |
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| |||
88 | 90 | | |
89 | 91 | | |
90 | 92 | | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
91 | 103 | | |
92 | 104 | | |
93 | 105 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
207 | 211 | | |
208 | 212 | | |
209 | 213 | | |
| |||
229 | 233 | | |
230 | 234 | | |
231 | 235 | | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
232 | 239 | | |
233 | 240 | | |
234 | 241 | | |
| |||
0 commit comments