fn drop()

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}"),
            }
        }
    }