···1313clap = { version = "4.5.31", features = ["derive"] }
1414dropshot = "0.16.0"
1515env_logger = "0.11.7"
1616-fjall = { version = "2.8.0", features = ["lz4"] }
1616+fjall = { git = "https://github.com/fjall-rs/fjall.git", features = ["lz4"] }
1717getrandom = "0.3.3"
1818http = "1.3.1"
1919jetstream = { path = "../jetstream", features = ["metrics"] }
+6-1
ufos/src/storage_fjall.rs
···16191619 histogram!("storage_trim_dirty_nsids").record(completed.len() as f64);
16201620 histogram!("storage_trim_duration").record(dt.as_micros() as f64);
16211621 counter!("storage_trim_removed", "dangling" => "true").increment(total_danglers as u64);
16221622- counter!("storage_trim_removed", "dangling" => "false").increment((total_deleted - total_danglers) as u64);
16221622+ if total_deleted >= total_danglers {
16231623+ counter!("storage_trim_removed", "dangling" => "false").increment((total_deleted - total_danglers) as u64);
16241624+ } else {
16251625+ // TODO: probably think through what's happening here
16261626+ log::warn!("weird trim case: more danglers than deleted? metric will be missing for dangling=false. deleted={total_deleted} danglers={total_danglers}");
16271627+ }
16231628 for c in completed {
16241629 dirty_nsids.remove(&c);
16251630 }