Fix no checksum reported by ddl execution

This commit is contained in:
Hongqin-Li
2023-02-20 07:14:33 +00:00
committed by ob-robot
parent a84ff5f257
commit a5d70fd58a
4 changed files with 22 additions and 20 deletions

View File

@ -304,17 +304,22 @@ int ObTabletDDLKvMgr::wait_ddl_merge_success(const SCN &start_scn, const SCN &co
return ret;
}
int ObTabletDDLKvMgr::get_ddl_major_merge_param(ObDDLTableMergeDagParam &param)
int ObTabletDDLKvMgr::get_ddl_major_merge_param(const ObTabletMeta &tablet_meta, ObDDLTableMergeDagParam &param)
{
int ret = OB_SUCCESS;
param.ls_id_ = ls_id_;
param.tablet_id_ = tablet_id_;
param.rec_scn_ = commit_scn_;
param.is_commit_ = true;
param.start_scn_ = start_scn_;
param.table_id_ = table_id_;
param.execution_id_ = execution_id_;
param.ddl_task_id_ = ddl_task_id_;
ObLatchRGuard guard(lock_, ObLatchIds::TABLET_DDL_KV_MGR_LOCK);
if (can_schedule_major_compaction_nolock(tablet_meta)) {
param.ls_id_ = ls_id_;
param.tablet_id_ = tablet_id_;
param.rec_scn_ = get_commit_scn_nolock(tablet_meta);
param.is_commit_ = true;
param.start_scn_ = start_scn_;
param.table_id_ = table_id_;
param.execution_id_ = execution_id_;
param.ddl_task_id_ = ddl_task_id_;
} else {
ret = OB_EAGAIN;
}
return ret;
}
@ -476,12 +481,6 @@ void ObTabletDDLKvMgr::reset_commit_success()
success_start_scn_.set_min();
}
bool ObTabletDDLKvMgr::can_schedule_major_compaction(const ObTabletMeta &tablet_meta)
{
ObLatchRGuard guard(lock_, ObLatchIds::TABLET_DDL_KV_MGR_LOCK);
return can_schedule_major_compaction_nolock(tablet_meta);
}
bool ObTabletDDLKvMgr::can_schedule_major_compaction_nolock(const ObTabletMeta &tablet_meta)
{
return get_commit_scn_nolock(tablet_meta).is_valid_and_not_min() && !is_commit_success_unlock();