From 375506d08f1042447bdc4ca8cda5944d795029e0 Mon Sep 17 00:00:00 2001 From: GWphua Date: Mon, 7 Jul 2025 14:57:38 +0800 Subject: [PATCH 1/2] Ignore exceptions when pushing task logs to ensure task success --- .../druid/indexing/overlord/ForkingTaskRunner.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java index bff251b09b1a..ee7e828be9c2 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java @@ -521,9 +521,19 @@ int waitForTaskProcessToComplete(Task task, ProcessHolder processHolder, File lo finally { Thread.currentThread().setName(priorThreadName); // Upload task logs - taskLogPusher.pushTaskLog(task.getId(), logFile); + try { + taskLogPusher.pushTaskLog(task.getId(), logFile); + } + catch (IOException e) { + LOGGER.error("Task[%s] failed to push task logs to [%s]", task.getId(), logFile.getName()); + } if (reportsFile.exists()) { - taskLogPusher.pushTaskReports(task.getId(), reportsFile); + try { + taskLogPusher.pushTaskReports(task.getId(), reportsFile); + } + catch (IOException e) { + LOGGER.error("Task[%s] failed to push task reports to [%s]", task.getId(), reportsFile.getName()); + } } } } From d8420ae9af4e22f4270f2f2a15a7511301153fa4 Mon Sep 17 00:00:00 2001 From: GWphua Date: Fri, 11 Jul 2025 15:40:26 +0800 Subject: [PATCH 2/2] Log exception message when pushing to tasklog failed --- .../apache/druid/indexing/overlord/ForkingTaskRunner.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java index ee7e828be9c2..9a7f2905b110 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/ForkingTaskRunner.java @@ -525,14 +525,16 @@ int waitForTaskProcessToComplete(Task task, ProcessHolder processHolder, File lo taskLogPusher.pushTaskLog(task.getId(), logFile); } catch (IOException e) { - LOGGER.error("Task[%s] failed to push task logs to [%s]", task.getId(), logFile.getName()); + LOGGER.error("Task[%s] failed to push task logs to [%s]: Exception[%s]", + task.getId(), logFile.getName(), e.getMessage()); } if (reportsFile.exists()) { try { taskLogPusher.pushTaskReports(task.getId(), reportsFile); } catch (IOException e) { - LOGGER.error("Task[%s] failed to push task reports to [%s]", task.getId(), reportsFile.getName()); + LOGGER.error("Task[%s] failed to push task reports to [%s]: Exception[%s]", + task.getId(), reportsFile.getName(), e.getMessage()); } } }