From 65e53b5bc413483b765fc7e98e3cd16d493d8e4f Mon Sep 17 00:00:00 2001 From: evenyag Date: Fri, 8 Nov 2024 01:28:39 +0800 Subject: [PATCH] feat: yield after get ranges --- src/mito2/src/read/scan_util.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mito2/src/read/scan_util.rs b/src/mito2/src/read/scan_util.rs index 572f006858..bb4770d9a4 100644 --- a/src/mito2/src/read/scan_util.rs +++ b/src/mito2/src/read/scan_util.rs @@ -22,6 +22,7 @@ use common_telemetry::debug; use futures::Stream; use prometheus::IntGauge; use store_api::storage::RegionId; +use tokio::task::yield_now; use crate::error::Result; use crate::metrics::SCAN_PARTITION; @@ -194,6 +195,10 @@ pub(crate) fn scan_file_ranges( .build_file_ranges(index, read_type, &mut reader_metrics) .await?; part_metrics.inc_num_file_ranges(ranges.len()); + + // Notify other partitions. + yield_now().await; + if read_type == "unordered_scan_files" { common_telemetry::debug!( "[DEBUG_SCAN] Thread: {:?}, Scan file ranges build ranges end, region_id: {}, partition: {}, index: {:?}, ranges: {}",