diff --git a/src/storage/blocksstable/ob_macro_block.cpp b/src/storage/blocksstable/ob_macro_block.cpp index 96ed42bf3..d65f512ac 100644 --- a/src/storage/blocksstable/ob_macro_block.cpp +++ b/src/storage/blocksstable/ob_macro_block.cpp @@ -263,6 +263,7 @@ void ObDataStoreDesc::reset() need_check_order_ = true; progressive_merge_round_ = 0; major_working_cluster_version_ = 0; + iter_complement_ = false; } int ObDataStoreDesc::assign(const ObDataStoreDesc& desc) @@ -681,7 +682,9 @@ int ObMacroBlock::flush( macro_handle.get_macro_id(), K(*header_), K(full_meta), - KP(¯o_handle)); + KP(¯o_handle), + "iter_to_complement", + spec_->iter_complement_); } } return ret; diff --git a/src/storage/blocksstable/ob_macro_block.h b/src/storage/blocksstable/ob_macro_block.h index 184811b98..447ab0d6b 100644 --- a/src/storage/blocksstable/ob_macro_block.h +++ b/src/storage/blocksstable/ob_macro_block.h @@ -73,6 +73,9 @@ struct ObDataStoreDesc { // major_working_cluster_version_ == 0 means upgrade from old cluster // which still use freezeinfo without cluster version int64_t major_working_cluster_version_; + bool iter_complement_; + common::ObArenaAllocator allocator_; + ObDataStoreDesc() { reset(); @@ -100,7 +103,7 @@ struct ObDataStoreDesc { K_(store_micro_block_column_checksum), K_(snapshot_version), K_(need_calc_physical_checksum), K_(need_index_tree), K_(need_prebuild_bloomfilter), K_(bloomfilter_rowkey_prefix), KP_(rowkey_helper), "column_types", common::ObArrayWrap(column_types_, row_column_count_), K_(pg_key), K_(file_handle), - K_(need_check_order), K_(need_index_tree), K_(major_working_cluster_version)); + K_(need_check_order), K_(need_index_tree), K_(major_working_cluster_version), K_(iter_complement)); private: int cal_row_store_type(const share::schema::ObTableSchema& table_schema, const storage::ObMergeType merge_type); diff --git a/src/storage/compaction/ob_partition_merge_builder.cpp b/src/storage/compaction/ob_partition_merge_builder.cpp index 90ba88720..f30fe5664 100644 --- a/src/storage/compaction/ob_partition_merge_builder.cpp +++ b/src/storage/compaction/ob_partition_merge_builder.cpp @@ -89,6 +89,7 @@ int ObMacroBlockBuilder::open(storage::ObSSTableMergeCtx& ctx, const int64_t idx ObMacroDataSeq macro_start_seq(0); task_idx_ = idx; desc_.merge_info_ = &sstable_merge_info_; + desc_.iter_complement_ = iter_complement; mark_deletion_maker_ = NULL; if (desc_.need_prebuild_bloomfilter_) { ObIPartitionGroup* pg = ctx.pg_guard_.get_partition_group();