From e154eb65b133f56d67a3fbe19570192de798879c Mon Sep 17 00:00:00 2001 From: discord9 Date: Thu, 11 Dec 2025 10:56:59 +0800 Subject: [PATCH] fix: condition for add files Signed-off-by: discord9 --- src/mito2/src/sst/version.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mito2/src/sst/version.rs b/src/mito2/src/sst/version.rs index d354dd9f79..f592cce9a9 100644 --- a/src/mito2/src/sst/version.rs +++ b/src/mito2/src/sst/version.rs @@ -63,10 +63,18 @@ impl SstVersion { .files .entry(file.file_id) .and_modify(|f| { - if f.index_id().version < new_index_version { - *f = FileHandle::new(file.clone(), file_purger.clone()); - } else { + if f.meta_ref().exists_index() && f.index_id().version >= new_index_version { // current file handle's index is up-to-date, skip adding + if f.index_id().version > new_index_version { + common_telemetry::warn!( + "Adding file with older index version, existing: {:?}, new: {:?}, ignoring new file", + f.meta_ref(), + file + ); + } + } else { + // include case like old file have no index or index is outdated + *f = FileHandle::new(file.clone(), file_purger.clone()); } }) .or_insert_with(|| FileHandle::new(file.clone(), file_purger.clone()));