From 27921ad830c5105e18b74364c2215b6d7f3c2185 Mon Sep 17 00:00:00 2001 From: Siyang Tang Date: Mon, 28 Jul 2025 10:35:05 +0800 Subject: [PATCH 1/2] [fix](schema-change) Fix null new tablet when cleaning up sc job on failure --- be/src/cloud/cloud_schema_change_job.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/be/src/cloud/cloud_schema_change_job.cpp b/be/src/cloud/cloud_schema_change_job.cpp index 9eaf586c9bae1e..ecbbcb73e1b57f 100644 --- a/be/src/cloud/cloud_schema_change_job.cpp +++ b/be/src/cloud/cloud_schema_change_job.cpp @@ -557,6 +557,9 @@ Status CloudSchemaChangeJob::_process_delete_bitmap(int64_t alter_version, } void CloudSchemaChangeJob::clean_up_on_failed() { + if (_new_tablet == nullptr) { + return; + } if (_new_tablet->keys_type() == KeysType::UNIQUE_KEYS && _new_tablet->enable_unique_key_merge_on_write()) { _cloud_storage_engine.meta_mgr().remove_delete_bitmap_update_lock( From 0f1aeb9fea7d5cd66f32c4fd9efe2cadbbbe6b94 Mon Sep 17 00:00:00 2001 From: Siyang Tang Date: Mon, 28 Jul 2025 10:40:11 +0800 Subject: [PATCH 2/2] fix grammar error --- be/src/agent/task_worker_pool.cpp | 2 +- be/src/cloud/cloud_schema_change_job.cpp | 2 +- be/src/cloud/cloud_schema_change_job.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/be/src/agent/task_worker_pool.cpp b/be/src/agent/task_worker_pool.cpp index 2d2f5d76bc66ad..87de0e530f6ee0 100644 --- a/be/src/agent/task_worker_pool.cpp +++ b/be/src/agent/task_worker_pool.cpp @@ -297,7 +297,7 @@ void alter_cloud_tablet(CloudStorageEngine& engine, const TAgentTaskRequest& age job.process_alter_tablet(agent_task_req.alter_tablet_req_v2), [&](const doris::Exception& ex) { DorisMetrics::instance()->create_rollup_requests_failed->increment(1); - job.clean_up_on_failed(); + job.clean_up_on_failure(); }); return Status::OK(); }(); diff --git a/be/src/cloud/cloud_schema_change_job.cpp b/be/src/cloud/cloud_schema_change_job.cpp index ecbbcb73e1b57f..eb5a3375e9edef 100644 --- a/be/src/cloud/cloud_schema_change_job.cpp +++ b/be/src/cloud/cloud_schema_change_job.cpp @@ -556,7 +556,7 @@ Status CloudSchemaChangeJob::_process_delete_bitmap(int64_t alter_version, return Status::OK(); } -void CloudSchemaChangeJob::clean_up_on_failed() { +void CloudSchemaChangeJob::clean_up_on_failure() { if (_new_tablet == nullptr) { return; } diff --git a/be/src/cloud/cloud_schema_change_job.h b/be/src/cloud/cloud_schema_change_job.h index 2a33443137ebb0..2f49f3eab6dac7 100644 --- a/be/src/cloud/cloud_schema_change_job.h +++ b/be/src/cloud/cloud_schema_change_job.h @@ -36,7 +36,7 @@ class CloudSchemaChangeJob { // This method is idempotent for a same request. Status process_alter_tablet(const TAlterTabletReqV2& request); - void clean_up_on_failed(); + void clean_up_on_failure(); private: Status _convert_historical_rowsets(const SchemaChangeParams& sc_params,