The in-memory idx cache kept entries around forever: get() returned None on expiry but left the HashMap entry in place. Each hourly HRRR cycle adds ~38 new idx URLs (19 forecast hours × surface + pressure), so the map grew ~4 MiB/day indefinitely on each Rust replica. Not the main cause of the OOM loop (glibc fragmentation was; jemalloc landed last commit) but worth sealing so a long- lived pod's idx cache can't drift toward the 3 GiB ceiling over weeks. Evicts on-touch via `get()` — simple, amortized, no background sweep thread needed. |
||
|---|---|---|
| .. | ||
| prop_grid_rs | ||