From f0fbf805ec19d4507d9fde680c2da71751d3f463 Mon Sep 17 00:00:00 2001 From: chaser-ch Date: Mon, 21 Mar 2022 14:36:18 +0800 Subject: [PATCH] fix some purge bug --- src/storage/compaction/ob_partition_merge_builder.cpp | 5 ++++- src/storage/memtable/ob_memtable_iterator.cpp | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/storage/compaction/ob_partition_merge_builder.cpp b/src/storage/compaction/ob_partition_merge_builder.cpp index 774a30e60c..8abee9b3ec 100644 --- a/src/storage/compaction/ob_partition_merge_builder.cpp +++ b/src/storage/compaction/ob_partition_merge_builder.cpp @@ -124,10 +124,13 @@ int ObMacroBlockBuilder::open(storage::ObSSTableMergeCtx& ctx, const int64_t idx ctx.sstable_version_range_.snapshot_version_, ctx.log_ts_range_.end_log_ts_))) { STORAGE_LOG(WARN, "fail to init mark deletion maker, skip maker", K(ret)); + mark_deletion_maker_->~ObBlockMarkDeletionMaker(); mark_deletion_maker_ = NULL; ret = OB_SUCCESS; + desc_.mark_deletion_maker_ = NULL; + } else { + desc_.mark_deletion_maker_ = mark_deletion_maker_; } - desc_.mark_deletion_maker_ = mark_deletion_maker_; } } else { desc_.mark_deletion_maker_ = NULL; diff --git a/src/storage/memtable/ob_memtable_iterator.cpp b/src/storage/memtable/ob_memtable_iterator.cpp index 4eb2cc9770..3164cc883e 100644 --- a/src/storage/memtable/ob_memtable_iterator.cpp +++ b/src/storage/memtable/ob_memtable_iterator.cpp @@ -240,7 +240,6 @@ int ObMemtableScanIterator::prepare_scan() TRANS_LOG(WARN, "get snapshot info failed", K(ret)); } else if (OB_FAIL(get_real_range(cur_range_.get_range(), range))) { TRANS_LOG(WARN, "fail to get_real_range", K(ret), K(cur_range_)); - ret = OB_ITER_END; } else if (OB_FAIL(ObMemtableKey::build( start_key, param_->table_id_, *param_->out_cols_, &range.get_start_key(), *context_->allocator_))) { TRANS_LOG(WARN, "start key build fail", K(param_->table_id_), K(range)); -- GitLab