Skip to content

Conversation

@aho135
Copy link
Contributor

@aho135 aho135 commented Nov 17, 2025

Description

A small follow up to #18210

18210 was more targeted toward HdfsTaskLogs which throws an IOException. We experienced the same issue but with S3TaskLogs which can throw a RuntimeException

Here is a sample stack trace

2025-11-14T16:35:25,367 INFO [forking-task-runner-1] org.apache.druid.indexing.overlord.ForkingTaskRunner - Exception caught during execution
java.lang.RuntimeException: com.amazonaws.services.s3.model.AmazonS3Exception: Your proposed upload exceeds the maximum allowed size (Service: Amazon S3; Status Code: 400; Error Code: EntityTooLarge; Request ID: <REDACT>
	at org.apache.druid.storage.s3.S3TaskLogs.pushTaskFile(S3TaskLogs.java:194) ~[?:?]
	at org.apache.druid.storage.s3.S3TaskLogs.pushTaskLog(S3TaskLogs.java:163) ~[?:?]
	at org.apache.druid.indexing.overlord.ForkingTaskRunner.waitForTaskProcessToComplete(ForkingTaskRunner.java:524) ~[druid-indexing-service-32.0.1.jar:32.0.1]
	at org.apache.druid.indexing.overlord.ForkingTaskRunner$1.call(ForkingTaskRunner.java:411) [druid-indexing-service-32.0.1.jar:32.0.1]
	at org.apache.druid.indexing.overlord.ForkingTaskRunner$1.call(ForkingTaskRunner.java:171) [druid-indexing-service-32.0.1.jar:32.0.1]
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131) [guava-32.0.1-jre.jar:?]
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:75) [guava-32.0.1-jre.jar:?]
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82) [guava-32.0.1-jre.jar:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
	at java.base/java.lang.Thread.run(Thread.java:840) [?:?]

Release note

Ingestion tasks will no longer fail if the task log upload fails with any exception


Key changed/added classes in this PR
  • ForkingTaskRunner

This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added or updated version, license, or notice information in licenses.yaml
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • added integration tests.
  • been tested in a test Druid cluster.

@aho135
Copy link
Contributor Author

aho135 commented Nov 17, 2025

@GWphua @FrankChen021 Could you take a look at this one when you get the chance? Thanks!

@abhishekrb19
Copy link
Contributor

Closing and reopening to retrigger CI checks

@abhishekrb19
Copy link
Contributor

Thanks for the fix and test, @aho135!

The test_runIndexTask_andKillData and ITNestedQueryPushDownTest tests have been flaky in master as well.

@abhishekrb19 abhishekrb19 merged commit a440a42 into apache:master Nov 21, 2025
248 of 254 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants