add reset/defense in major_ckm_info::assign & move case to sub dir

This commit is contained in:
obdev 2024-09-18 05:26:10 +00:00 committed by ob-robot
parent 4c5dc275aa
commit f76d40a9c7
2 changed files with 15 additions and 1 deletions

View File

@ -44,7 +44,7 @@ DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_MINI_MERGE, ObDagPrio::DAG_PRIO_COMPACTION_H
true, 3, {"ls_id", "tablet_id", "compaction_scn"})
DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_MERGE_EXECUTE, ObDagPrio::DAG_PRIO_COMPACTION_MID, ObSysTaskType::SSTABLE_MINOR_MERGE_TASK, "MINOR_EXECUTE", "COMPACTION",
true, 3, {"ls_id", "tablet_id", "compaction_scn"})
DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_MAJOR_MERGE, ObDagPrio::DAG_PRIO_COMPACTION_LOW, ObSysTaskType::SSTABLE_MAJOR_MERGE_TASK, "MAJOR_MERGE", "COMPACTION",
DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_MAJOR_MERGE, ObDagPrio::DAG_PRIO_COMPACTION_LOW, ObSysTaskType::SSTABLE_MAJOR_MERGE_TASK, "MAJOR_MERGE/MEDIUM_MERGE", "COMPACTION",
true, 3, {"ls_id", "tablet_id", "compaction_scn"})
DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_CO_MERGE_BATCH_EXECUTE, ObDagPrio::DAG_PRIO_COMPACTION_LOW, ObSysTaskType::SSTABLE_MAJOR_MERGE_TASK, "CO_MERGE_BATCH_EXECUTE", "COMPACTION",
false, 5, {"ls_id", "tablet_id", "compaction_scn", "start_cg_idx", "end_cg_idx"})

View File

@ -59,6 +59,7 @@ int ObMajorChecksumInfo::assign(
ObArenaAllocator *allocator)
{
int ret = OB_SUCCESS;
reset();
info_ = other.info_;
compaction_scn_ = other.compaction_scn_;
if (other.is_empty()) {
@ -73,6 +74,10 @@ int ObMajorChecksumInfo::assign(
LOG_WARN("failed to assgin column checksums", KR(ret), K(other));
}
}
if (OB_SUCC(ret) && OB_UNLIKELY(!is_valid())) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("ObMajorChecksumInfo is invalid after assign", KR(ret), KPC(this), K(other));
}
return ret;
}
@ -83,6 +88,7 @@ int ObMajorChecksumInfo::deep_copy(
ObMajorChecksumInfo &dest) const
{
int ret = OB_SUCCESS;
dest.reset();
dest.info_ = info_;
dest.compaction_scn_ = compaction_scn_;
if (!is_empty()) {
@ -92,6 +98,10 @@ int ObMajorChecksumInfo::deep_copy(
LOG_WARN("failed to deep copy column checksum", KR(ret), K_(column_ckm_struct));
}
}
if (OB_SUCC(ret) && OB_UNLIKELY(!dest.is_valid())) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("ObMajorChecksumInfo is invalid after deep copy", KR(ret), KPC(this), K(dest));
}
return ret;
}
@ -285,6 +295,10 @@ int ObCOMajorChecksumInfo::init_from_merge_result(
K(res.data_column_checksums_[j]));
}
} // for
if (OB_SUCC(ret) && OB_UNLIKELY(!is_valid())) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("after init from merge result, major checksum info is not valid", KR(ret), KPC(this), K(res));
}
return ret;
}