in ingester/lib/src/symbolicator/cache.rs [323:344]
fn drop(&mut self) {
let inactive: PersistedState = self
.inactive
.get_mut()
.map(std::mem::take)
.unwrap_or_default()
.into_iter()
.collect();
if !inactive.is_empty() {
if let Some(p) = self.persist.parent() {
let _ = std::fs::create_dir_all(p);
}
match std::fs::File::create(&self.persist) {
Ok(f) => {
if let Err(e) = serde_json::to_writer(f, &inactive) {
log::error!("failed to persist cache state: {e}");
}
}
Err(e) => log::error!("failed to create persistent cache state file: {e}"),
}
}
}