diff --git a/runtime/src/bucket_map_holder.rs b/runtime/src/bucket_map_holder.rs index 5853b4d270..408b857177 100644 --- a/runtime/src/bucket_map_holder.rs +++ b/runtime/src/bucket_map_holder.rs @@ -158,7 +158,11 @@ impl BucketMapHolder { let bins = in_mem.len(); let flush = self.disk.is_some(); loop { - if self.all_buckets_flushed_at_current_age() { + if !flush { + self.wait_dirty_or_aged.wait_timeout(Duration::from_millis( + self.stats.remaining_until_next_interval(), + )); + } else if self.all_buckets_flushed_at_current_age() { let wait = std::cmp::min( self.age_timer.remaining_until_next_interval(AGE_MS), self.stats.remaining_until_next_interval(),