From 1d9a9a993d30a2210851cee02f89ed29230c33ba Mon Sep 17 00:00:00 2001 From: congqixia Date: Thu, 3 Jul 2025 18:50:46 +0800 Subject: [PATCH] fix: [StorageV2] Use correct template typename for `cache_raw_data_to_disk_common` (#43104) Related to #43099 Previously `cache_raw_data_to_disk_common` used `milvus::DataType` template typename, which shall be `knowhere::bf16` or other actual datatype. Signed-off-by: Congqi Xia --- .../core/src/storage/DiskFileManagerImpl.cpp | 34 ++++++++----------- .../core/src/storage/DiskFileManagerImpl.h | 9 +++-- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/internal/core/src/storage/DiskFileManagerImpl.cpp b/internal/core/src/storage/DiskFileManagerImpl.cpp index 66c88bc10e..9dcc16c54b 100644 --- a/internal/core/src/storage/DiskFileManagerImpl.cpp +++ b/internal/core/src/storage/DiskFileManagerImpl.cpp @@ -249,8 +249,7 @@ DiskFileManagerImpl::CacheIndexToDiskInternal( for (auto& slices : index_slices) { auto prefix = slices.first; auto local_index_file_name = - local_index_prefix + - prefix.substr(prefix.find_last_of('/') + 1); + local_index_prefix + prefix.substr(prefix.find_last_of('/') + 1); local_chunk_manager->CreateFile(local_index_file_name); // Get the remote files @@ -264,10 +263,13 @@ DiskFileManagerImpl::CacheIndexToDiskInternal( auto file_writer = storage::FileWriter(local_index_file_name); auto appendIndexFiles = [&]() { auto index_chunks_futures = - GetObjectData(rcm_.get(), batch_remote_files, milvus::PriorityForLoad(priority)); + GetObjectData(rcm_.get(), + batch_remote_files, + milvus::PriorityForLoad(priority)); for (auto& chunk_future : index_chunks_futures) { auto chunk_codec = chunk_future.get(); - file_writer.Write(chunk_codec->PayloadData(), chunk_codec->PayloadSize()); + file_writer.Write(chunk_codec->PayloadData(), + chunk_codec->PayloadSize()); } batch_remote_files.clear(); }; @@ -295,9 +297,7 @@ DiskFileManagerImpl::CacheIndexToDisk( const std::vector& remote_files, milvus::proto::common::LoadPriority priority) { return CacheIndexToDiskInternal( - remote_files, - GetLocalIndexObjectPrefix(), - priority); + remote_files, GetLocalIndexObjectPrefix(), priority); } void @@ -313,9 +313,7 @@ DiskFileManagerImpl::CacheJsonKeyIndexToDisk( const std::vector& remote_files, milvus::proto::common::LoadPriority priority) { return CacheIndexToDiskInternal( - remote_files, - GetLocalJsonKeyIndexPrefix(), - priority); + remote_files, GetLocalJsonKeyIndexPrefix(), priority); } void @@ -323,9 +321,7 @@ DiskFileManagerImpl::CacheNgramIndexToDisk( const std::vector& remote_files, milvus::proto::common::LoadPriority priority) { return CacheIndexToDiskInternal( - remote_files, - GetLocalNgramIndexPrefix(), - priority); + remote_files, GetLocalNgramIndexPrefix(), priority); } template @@ -498,12 +494,12 @@ DiskFileManagerImpl::cache_raw_data_to_disk_storage_v2(const Config& config) { all_remote_files, GetFieldDataMeta().field_id, data_type.value(), dim); for (auto& field_data : field_datas) { num_rows += uint32_t(field_data->get_num_rows()); - cache_raw_data_to_disk_common(field_data, - local_chunk_manager, - local_data_path, - file_created, - var_dim, - write_offset); + cache_raw_data_to_disk_common(field_data, + local_chunk_manager, + local_data_path, + file_created, + var_dim, + write_offset); } // write num_rows and dim value to file header diff --git a/internal/core/src/storage/DiskFileManagerImpl.h b/internal/core/src/storage/DiskFileManagerImpl.h index a417f81cec..a11aed586e 100644 --- a/internal/core/src/storage/DiskFileManagerImpl.h +++ b/internal/core/src/storage/DiskFileManagerImpl.h @@ -185,11 +185,10 @@ class DiskFileManagerImpl : public FileManagerImpl { get_remote_path) noexcept; void - CacheIndexToDiskInternal( - const std::vector& remote_files, - const std::string& local_index_prefix, - milvus::proto::common::LoadPriority priority = - milvus::proto::common::LoadPriority::HIGH); + CacheIndexToDiskInternal(const std::vector& remote_files, + const std::string& local_index_prefix, + milvus::proto::common::LoadPriority priority = + milvus::proto::common::LoadPriority::HIGH); template std::string