fix: do not attempt to poll future lists in compactor
It seems that the buffering / parallelization code cannot deal with
empty lists and just freezes forever (which blocks shutdown but will
also freeze the compactor forever).
@@ -294,7 +294,8 @@ async fn run_compactor(compactor: Arc<Compactor>, shutdown: CancellationToken) {
debug!("no compaction candidates found");
// sleep for a second to avoid a hot busy loop when the
// catalog is polled
- tokio::time::sleep(PAUSE_BETWEEN_NO_WORK).await
+ tokio::time::sleep(PAUSE_BETWEEN_NO_WORK).await;
+ continue;
} else {
debug!(n_candidates, "found compaction candidates");
}
