This is an automated email from the ASF dual-hosted git repository.
abhishek pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 991bf289ed0 Improve error message if task fails to return start time
(#18685)
991bf289ed0 is described below
commit 991bf289ed0ef1dcf7b901edc22dffa766f4a490
Author: Kashif Faraz <[email protected]>
AuthorDate: Wed Oct 22 14:10:16 2025 +0530
Improve error message if task fails to return start time (#18685)
---
.../apache/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java | 4 ++--
.../druid/indexing/kinesis/supervisor/KinesisSupervisorTest.java | 4 ++--
.../indexing/seekablestream/supervisor/SeekableStreamSupervisor.java | 4 ++--
server/src/main/java/org/apache/druid/rpc/ServiceClientImpl.java | 1 +
4 files changed, 7 insertions(+), 6 deletions(-)
diff --git
a/extensions-core/kafka-indexing-service/src/test/java/org/apache/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
b/extensions-core/kafka-indexing-service/src/test/java/org/apache/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
index 880e1f555a1..f3f01cc5071 100644
---
a/extensions-core/kafka-indexing-service/src/test/java/org/apache/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
+++
b/extensions-core/kafka-indexing-service/src/test/java/org/apache/druid/indexing/kafka/supervisor/KafkaSupervisorTest.java
@@ -3034,8 +3034,8 @@ public class KafkaSupervisorTest extends EasyMockSupport
EasyMock.expect(taskClient.getStatusAsync(task.getId()))
.andReturn(Futures.immediateFuture(Status.NOT_STARTED));
EasyMock.expect(taskClient.getStartTimeAsync(task.getId()))
- .andReturn(Futures.immediateFailedFuture(new
RuntimeException()));
- taskQueue.shutdown(task.getId(), "Task [%s] failed to return start time,
killing task", task.getId());
+ .andReturn(Futures.immediateFailedFuture(new
RuntimeException("killed")));
+ taskQueue.shutdown(task.getId(), "Failed to return start time: %s",
"killed");
}
EasyMock.replay(taskStorage, taskClient, taskQueue);
diff --git
a/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/supervisor/KinesisSupervisorTest.java
b/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/supervisor/KinesisSupervisorTest.java
index ea528a68a01..1fd50c13545 100644
---
a/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/supervisor/KinesisSupervisorTest.java
+++
b/extensions-core/kinesis-indexing-service/src/test/java/org/apache/druid/indexing/kinesis/supervisor/KinesisSupervisorTest.java
@@ -2183,8 +2183,8 @@ public class KinesisSupervisorTest extends EasyMockSupport
EasyMock.expect(taskClient.getStatusAsync(task.getId()))
.andReturn(Futures.immediateFuture(SeekableStreamIndexTaskRunner.Status.NOT_STARTED));
EasyMock.expect(taskClient.getStartTimeAsync(task.getId()))
- .andReturn(Futures.immediateFailedFuture(new
RuntimeException()));
- taskQueue.shutdown(task.getId(), "Task [%s] failed to return start time,
killing task", task.getId());
+ .andReturn(Futures.immediateFailedFuture(new
RuntimeException("killed")));
+ taskQueue.shutdown(task.getId(), "Failed to return start time: %s",
"killed");
}
EasyMock.replay(taskStorage, taskClient, taskQueue);
diff --git
a/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/SeekableStreamSupervisor.java
b/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/SeekableStreamSupervisor.java
index 312a6480e25..0faa0b84134 100644
---
a/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/SeekableStreamSupervisor.java
+++
b/indexing-service/src/main/java/org/apache/druid/indexing/seekablestream/supervisor/SeekableStreamSupervisor.java
@@ -3282,8 +3282,8 @@ public abstract class
SeekableStreamSupervisor<PartitionIdType, SequenceOffsetTy
// Ignore return value; but kill tasks that failed to return anything at
all.
if (results.get(i).isError()) {
String taskId = futureTaskIds.get(i);
- log.noStackTrace().warn(results.get(i).error(), "Task [%s] failed to
return start time, killing task", taskId);
- killTask(taskId, "Task [%s] failed to return start time, killing
task", taskId);
+ log.noStackTrace().warn(results.get(i).error(), "Killing task[%s] as
it failed to return start time.", taskId);
+ killTask(taskId, "Failed to return start time: %s",
results.get(i).error().getMessage());
}
}
}
diff --git a/server/src/main/java/org/apache/druid/rpc/ServiceClientImpl.java
b/server/src/main/java/org/apache/druid/rpc/ServiceClientImpl.java
index a75a8f6a77d..ca7ae0371c6 100644
--- a/server/src/main/java/org/apache/druid/rpc/ServiceClientImpl.java
+++ b/server/src/main/java/org/apache/druid/rpc/ServiceClientImpl.java
@@ -206,6 +206,7 @@ public class ServiceClientImpl implements ServiceClient
}
catch (Throwable t) {
// It's a bug if this happens. The purpose of this line is
to help us debug what went wrong.
+ log.error(t, "Service[%s] handler exited unexpected",
serviceName);
retVal.setException(new RpcException(t, "Service [%s]
handler exited unexpectedly", serviceName));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]