From 003f27aca1322e8a9b48a1a13ff4486a59985cf7 Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 30 Sep 2024 05:17:18 +0000 Subject: [PATCH] use new dag type for lob tablet split. --- src/share/scheduler/ob_dag_scheduler_config.h | 3 +++ src/share/scheduler/ob_tenant_dag_scheduler.h | 7 +++++-- src/storage/ddl/ob_tablet_lob_split_task.cpp | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/share/scheduler/ob_dag_scheduler_config.h b/src/share/scheduler/ob_dag_scheduler_config.h index d5b72417f..9dd9b5a64 100644 --- a/src/share/scheduler/ob_dag_scheduler_config.h +++ b/src/share/scheduler/ob_dag_scheduler_config.h @@ -86,6 +86,9 @@ DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_DDL_DEL_LOB_META, ObDagPrio::DAG_PRIO_DDL, O true, 7, {"ls_id", "source_tablet_id", "dest_tablet_id", "data_table_id", "target_table_id", "schema_version", "snapshot_version"}) DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_TABLET_SPLIT, ObDagPrio::DAG_PRIO_DDL, ObSysTaskType::DDL_TABLET_SPLIT, "DDL_TABLET_SPLIT", "DDL", true, 2, {"ls_id", "source_tablet_id"}) +DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_LOB_SPLIT, ObDagPrio::DAG_PRIO_DDL, ObSysTaskType::DDL_TABLET_SPLIT, "DDL_TABLET_SPLIT", "DDL", + true, 2, {"ls_id", "source_tablet_id"}) + // DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_MIGRATE, ObDagPrio::DAG_PRIO_HA_HIGH, ObSysTaskType::MIGRATION_TASK, "MIGRATE", "MIGRATE") DAG_SCHEDULER_DAG_TYPE_DEF(DAG_TYPE_INITIAL_COMPLETE_MIGRATION, ObDagPrio::DAG_PRIO_HA_HIGH, ObSysTaskType::MIGRATION_TASK, "INITIAL_COMPLETE_MIGRATION", "MIGRATE", diff --git a/src/share/scheduler/ob_tenant_dag_scheduler.h b/src/share/scheduler/ob_tenant_dag_scheduler.h index 62270cf5b..064810e16 100644 --- a/src/share/scheduler/ob_tenant_dag_scheduler.h +++ b/src/share/scheduler/ob_tenant_dag_scheduler.h @@ -960,7 +960,8 @@ public: lib::ObMutexGuard guard(prio_lock_); ObIDag *stored_dag = nullptr; if (OB_UNLIKELY(dag.get_type() != ObDagType::DAG_TYPE_DDL - && dag.get_type() != ObDagType::DAG_TYPE_TABLET_SPLIT)) { + && dag.get_type() != ObDagType::DAG_TYPE_TABLET_SPLIT + && dag.get_type() != ObDagType::DAG_TYPE_LOB_SPLIT)) { ret = OB_INVALID_ARGUMENT; COMMON_LOG(WARN, "invalid arugment", K(ret), K(dag)); } else if (OB_FAIL(dag_map_.get_refactored(&dag, stored_dag))) { @@ -1223,7 +1224,9 @@ public: ret = OB_NOT_INIT; COMMON_LOG(WARN, "ObDagScheduler is not inited", K(ret)); } else if (OB_ISNULL(dag) || - (ObDagType::DAG_TYPE_DDL != dag->get_type() && ObDagType::DAG_TYPE_TABLET_SPLIT != dag->get_type())) { + (ObDagType::DAG_TYPE_DDL != dag->get_type() + && ObDagType::DAG_TYPE_TABLET_SPLIT != dag->get_type() + && ObDagType::DAG_TYPE_LOB_SPLIT != dag->get_type())) { ret = OB_INVALID_ARGUMENT; COMMON_LOG(WARN, "invalid arugment", K(ret), KPC(dag)); } else if (OB_FAIL(prio_sche_[dag->get_priority()].get_dag_progress(*dag, row_inserted, physical_row_count))) { diff --git a/src/storage/ddl/ob_tablet_lob_split_task.cpp b/src/storage/ddl/ob_tablet_lob_split_task.cpp index f1c8ed7c3..23e784f91 100644 --- a/src/storage/ddl/ob_tablet_lob_split_task.cpp +++ b/src/storage/ddl/ob_tablet_lob_split_task.cpp @@ -369,7 +369,7 @@ ObTabletLobBuildMapTask::ObTabletLobBuildMapTask() } ObTabletLobSplitDag::ObTabletLobSplitDag() - : ObIDag(ObDagType::DAG_TYPE_TABLET_SPLIT), is_inited_(false), param_(), context_() + : ObIDag(ObDagType::DAG_TYPE_LOB_SPLIT), is_inited_(false), param_(), context_() { } @@ -449,7 +449,7 @@ int64_t ObTabletLobSplitDag::hash() const LOG_ERROR("table schema must not be NULL", K(tmp_ret), K(is_inited_), K(param_)); } else { hash_val = param_.tenant_id_ + param_.ls_id_.hash() - + param_.ori_lob_meta_tablet_id_.hash() + ObDagType::DAG_TYPE_TABLET_SPLIT; + + param_.ori_lob_meta_tablet_id_.hash() + ObDagType::DAG_TYPE_LOB_SPLIT; } return hash_val; }