From 3512e892ec0bb79fc96cfacacb8537447547d358 Mon Sep 17 00:00:00 2001 From: evenyag Date: Wed, 22 Jul 2026 18:46:56 +0800 Subject: [PATCH] docs(mito2): clarify candidate scanner invariants Signed-off-by: evenyag --- src/mito2/src/read/series_candidate.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mito2/src/read/series_candidate.rs b/src/mito2/src/read/series_candidate.rs index 33cba2158cf..16ef944c4af 100644 --- a/src/mito2/src/read/series_candidate.rs +++ b/src/mito2/src/read/series_candidate.rs @@ -162,6 +162,8 @@ impl SeriesCandidateScanner { range_streams.push(task.await.context(JoinSnafu)??); } + // Keep scanner-level merge metrics in the same synthetic partition as + // SeriesDistributor. Output partitions occupy 0..self.partitions.len(). let merged = merge_primary_key_streams( range_streams, self.memory_pool.clone(), @@ -477,6 +479,8 @@ fn merge_primary_key_streams( nulls_first: false, }, }]) + // Safe to unwrap because `LexOrdering::new` returns `None` only for empty + // input, and this array always contains one sort expression. .unwrap(); let reservation = MemoryConsumer::new(consumer_name).register(&memory_pool); let mut merged = StreamingMergeBuilder::new()