diff --git a/crates/ecstore/src/disk/os.rs b/crates/ecstore/src/disk/os.rs index c9df5b874..39ffeb955 100644 --- a/crates/ecstore/src/disk/os.rs +++ b/crates/ecstore/src/disk/os.rs @@ -735,7 +735,13 @@ impl DstDirFsyncGroupCommit { fn remove_idle_group(&self, group: &Arc) { let mut registry = self.inner.lock(); let group_state = group.inner.lock(); - if !group_state.worker_running && group_state.pending.is_empty() { + if !group_state.worker_running + && group_state.pending.is_empty() + && registry + .groups + .get(&group.key) + .is_some_and(|registered| Arc::ptr_eq(registered, group)) + { registry.groups.remove(&group.key); } }