Commit a5c700f
committed
Reload metadata in-place
Metadata reloading was previously implemented by loading the metadata,
then replacing references to the old metadata with the new metadata. A
bug in the implementation caused the previous version of the metadata to
be indirectly referenced by the new version of the metadata, resulting
in a steady climb in memory usage.
In fixing the memory leak, I have also changed how metadata is reloaded
to avoid having to replace all existing references, which is prone to
errors and could cause confusing behaviour.1 parent 8b2c80c commit a5c700f
2 files changed
+10
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
221 | | - | |
| 221 | + | |
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | 225 | | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | 226 | | |
235 | 227 | | |
236 | 228 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1110 | 1110 | | |
1111 | 1111 | | |
1112 | 1112 | | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
1113 | 1122 | | |
1114 | 1123 | | |
1115 | 1124 | | |
| |||
0 commit comments