diff --git a/core/src/db/DBImpl.cpp b/core/src/db/DBImpl.cpp index f9d12452645fe3b1a34122a16c63d8621d42c23b..b7e6a088100f5f7444af7d89ec7c8b553bd3fa9c 100644 --- a/core/src/db/DBImpl.cpp +++ b/core/src/db/DBImpl.cpp @@ -1408,7 +1408,14 @@ DBImpl::CreateIndex(const std::shared_ptr& context, const std:: // step 1: wait merge file thread finished to avoid duplicate data bug auto status = Flush(); WaitMergeFileFinish(); // let merge file thread finish - std::set merge_collection_ids; + + // merge all files for this collection, including its partitions + std::set merge_collection_ids = {collection_id}; + std::vector partition_array; + status = meta_ptr_->ShowPartitions(collection_id, partition_array); + for (auto& schema : partition_array) { + merge_collection_ids.insert(schema.collection_id_); + } StartMergeTask(merge_collection_ids, true); // start force-merge task WaitMergeFileFinish(); // let force-merge file thread finish