Commit 33979eb
committed
Avoid off-heap memory growth from JDK direct buffer caching
Read database files via Files.readAllBytes and pass as an InputStream
to DatabaseReader.Builder, instead of passing a File which internally
uses FileChannel.read into a heap ByteBuffer. The FileChannel path
causes the JDK to allocate and cache temporary direct ByteBuffers in
thread-local storage (sun.nio.ch.Util.BufferCache), leading to
off-heap memory growth in scenarios where the database is initialized
repeatedly.1 parent 94d090c commit 33979eb
File tree
1 file changed
+9
-4
lines changed- src/main/scala/com.snowplowanalytics.maxmind.iplookups
1 file changed
+9
-4
lines changedLines changed: 9 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | | - | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
229 | | - | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
230 | 233 | | |
231 | 234 | | |
232 | 235 | | |
233 | 236 | | |
234 | 237 | | |
235 | 238 | | |
236 | | - | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
237 | 242 | | |
238 | 243 | | |
239 | 244 | | |
| |||
0 commit comments