This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new d5d96da3e80 branch-3.1: [fix](schema-change) Fix null new tablet when
cleaning up sc job on failure #53952 (#54065)
d5d96da3e80 is described below
commit d5d96da3e80406ecbe2ef83e4273931b0c93fbac
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Jul 30 18:40:09 2025 +0800
branch-3.1: [fix](schema-change) Fix null new tablet when cleaning up sc
job on failure #53952 (#54065)
Cherry-picked from #53952
Co-authored-by: Siyang Tang <[email protected]>
---
be/src/agent/task_worker_pool.cpp | 2 +-
be/src/cloud/cloud_schema_change_job.cpp | 5 ++++-
be/src/cloud/cloud_schema_change_job.h | 2 +-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/be/src/agent/task_worker_pool.cpp
b/be/src/agent/task_worker_pool.cpp
index b9922c12718..55975ddd1fb 100644
--- a/be/src/agent/task_worker_pool.cpp
+++ b/be/src/agent/task_worker_pool.cpp
@@ -296,7 +296,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 405dcbe1a0d..9e8d3f85a08 100644
--- a/be/src/cloud/cloud_schema_change_job.cpp
+++ b/be/src/cloud/cloud_schema_change_job.cpp
@@ -532,7 +532,10 @@ 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;
+ }
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(
diff --git a/be/src/cloud/cloud_schema_change_job.h
b/be/src/cloud/cloud_schema_change_job.h
index 2a33443137e..2f49f3eab6d 100644
--- a/be/src/cloud/cloud_schema_change_job.h
+++ b/be/src/cloud/cloud_schema_change_job.h
@@ -36,7 +36,7 @@ public:
// 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,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]