fix master failed mysqltest case

This commit is contained in:
obdev
2023-04-17 06:41:41 +00:00
committed by ob-robot
parent 584fd674ed
commit 971ab1754d
2 changed files with 14 additions and 6 deletions

View File

@ -1244,12 +1244,13 @@ int ObPartitionMinorRowMergeIter::collect_tnode_dml_stat(
int ret = OB_SUCCESS;
memtable::ObMemtableMultiVersionScanIterator *iter = nullptr;
if (OB_ISNULL(table_)) {
// do nothing
if (OB_UNLIKELY(nullptr == table_ || nullptr == row_iter_)) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected null table or null row_iter", KPC(table_), KPC(row_iter_));
} else if (OB_UNLIKELY(!table_->is_data_memtable() ||
typeid(row_iter_) != typeid(memtable::ObMemtableMultiVersionScanIterator))) {
typeid(*row_iter_) != typeid(memtable::ObMemtableMultiVersionScanIterator))) {
ret = OB_NOT_SUPPORTED;
LOG_WARN("only support to get mt stat from memtable", K(ret), KPC(table_));
LOG_WARN("only support to get mt stat from tx memtable", K(ret), KPC(table_), KPC(row_iter_));
} else if (OB_ISNULL(iter = static_cast<memtable::ObMemtableMultiVersionScanIterator *>(row_iter_))) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("get unexpected null row iter", K(ret), KPC(row_iter_));

View File

@ -1173,6 +1173,11 @@ int ObPartitionMinorMerger::merge_partition(ObTabletMergeCtx &ctx, const int64_t
return ret;
}
/*
* TODO(@DanLing)
* Add mysql test case after column store branch is merged into master,
* cause __all_virtual_tablet_stat is on column store.
*/
int ObPartitionMinorMerger::collect_merge_stat(
const ObMergeType &merge_type,
ObPartitionMinorMergeHelper &merge_helper,
@ -1181,9 +1186,11 @@ int ObPartitionMinorMerger::collect_merge_stat(
int ret = OB_SUCCESS;
ObTransNodeDMLStat tnode_stat;
if (OB_UNLIKELY(!is_mini_merge(merge_type))) {
if (OB_UNLIKELY(!is_mini_merge(merge_type) || !ctx.is_valid())) {
ret = OB_INVALID_ARGUMENT;
LOG_WARN("get invalid argument", K(ret), K(merge_type));
LOG_WARN("get invalid argument", K(ret), K(merge_type), K(ctx));
} else if (ctx.param_.tablet_id_.is_special_merge_tablet()) {
// do nothing
} else if (OB_FAIL(merge_helper.collect_tnode_dml_stat(merge_type, tnode_stat))) {
STORAGE_LOG(WARN, "failed to get memtable stat", K(ret));
} else if (tnode_stat.empty()) {