提交 82be6c8d 编写于 作者: O obdev 提交者: wangzelin.wzl

set filled_tx_log_ts more precise && skip inner tablet when get min end ts in old tablets

上级 30fded45
......@@ -267,14 +267,27 @@ int ObTabletMergeInfo::record_start_tx_scn_for_tx_data(const ObTabletMergeCtx &c
} else if (ctx.param_.is_minor_merge()) {
// when this merege is MINOR_MERGE or MINI_MINOR_MERGE, use max_filtered_end_scn in filter if filtered some tx data
ObTransStatusFilter *compaction_filter_ = (ObTransStatusFilter*)ctx.compaction_filter_;
if (OB_ISNULL(compaction_filter_)) {
ObSSTable *oldest_tx_data_sstable = static_cast<ObSSTable *>(ctx.tables_handle_.get_table(0));
if (OB_ISNULL(oldest_tx_data_sstable)) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("tx data sstable is unexpected nullptr", KR(ret));
} else if (OB_ISNULL(compaction_filter_)) {
// This minor merge do not filter any tx data
param.filled_tx_log_ts_ = ctx.log_ts_range_.start_log_ts_;
param.filled_tx_log_ts_ = oldest_tx_data_sstable->get_filled_tx_scn();
} else if (compaction_filter_->get_max_filtered_end_scn() > 0) {
param.filled_tx_log_ts_ = compaction_filter_->get_max_filtered_end_scn();
} else {
param.filled_tx_log_ts_ = compaction_filter_->get_recycle_scn();
}
if (OB_SUCC(ret) && param.filled_tx_log_ts_ < oldest_tx_data_sstable->get_filled_tx_scn()) {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("invliad filled tx log ts",
KR(ret),
K(param),
K(oldest_tx_data_sstable->get_filled_tx_scn()),
KPC(oldest_tx_data_sstable));
}
} else {
ret = OB_ERR_UNEXPECTED;
LOG_ERROR("unexpected merge type when merge tx data table", KR(ret), K(ctx));
......
......@@ -377,7 +377,7 @@ int ObTenantMetaMemMgr::get_min_end_log_ts_for_ls(const share::ObLSID &ls_id, in
SSTableSet::const_iterator iter = last_min_minor_sstable_set_.begin();
while (OB_SUCC(ret) && iter != last_min_minor_sstable_set_.end()) {
const MinMinorSSTableInfo &info = iter->first;
if (info.ls_id_ != ls_id) {
if (info.ls_id_ != ls_id || info.table_key_.tablet_id_.is_ls_inner_tablet()) {
// just skip
} else if (OB_UNLIKELY(!info.is_valid())) {
ret = OB_ERR_UNEXPECTED;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册