From c71871d582ef5751a84d605d9d6305f32fd19d4b Mon Sep 17 00:00:00 2001 From: Siyang Tang <82279870+TangSiyang2001@users.noreply.github.com> Date: Sun, 18 Aug 2024 09:42:29 +0800 Subject: [PATCH] [enhancement](schema-change) Record detailed fail reason for schema change tasks (#39351) (#39502) ## Proposed changes Expose the error msg from BE as the real fail reason recorded for schema change tasks. To avoid too much memory usage, we just pick one among all to record. --- .../main/java/org/apache/doris/alter/SchemaChangeJobV2.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java index ced291fe0a37dd..9b7c127676e58b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java +++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeJobV2.java @@ -522,7 +522,7 @@ protected void runRunningJob() throws AlterCancelException { if (task.getFailedTimes() > 0) { task.setFinished(true); AgentTaskQueue.removeTask(task.getBackendId(), TTaskType.ALTER, task.getSignature()); - LOG.warn("schema change task failed: " + task.getErrorMsg()); + LOG.warn("schema change task failed: {}", task.getErrorMsg()); List failedBackends = failedTabletBackends.get(task.getTabletId()); if (failedBackends == null) { failedBackends = Lists.newArrayList(); @@ -533,8 +533,8 @@ protected void runRunningJob() throws AlterCancelException { .getReplicaAllocation(task.getPartitionId()).getTotalReplicaNum(); int failedTaskCount = failedBackends.size(); if (expectSucceedTaskNum - failedTaskCount < expectSucceedTaskNum / 2 + 1) { - throw new AlterCancelException("schema change tasks failed on same tablet reach threshold " - + failedTaskCount); + throw new AlterCancelException( + String.format("schema change tasks failed, error reason: %s", task.getErrorMsg())); } } }