This issue was generated automatically by Claude Code (Anthropic's AI coding agent) running a scheduled CI-triage routine on behalf of @FrankChen021. Analysis and suggested fixes are AI-produced; please verify before acting on them.
Status: Fix PR #20549 open
Subject: IngestionSmokeTest.test_streamLogs_ofCancelledTask, seen via ConsulDiscoveryPlainDockerTest (embedded-tests, docker-tests)
Failures: 1 · First seen: 2026-09-25 · Last seen: 2026-09-25
Root cause
Race: the test polls TaskLogStreamer.streamTaskLog(taskId, 0) only until the Optional is present. In the Docker setup, the peon's log is pushed after the process exits, so the stream can be present but empty, which fails assertFalse(logs.isEmpty()) at IngestionSmokeTest.java:398. The TLS and MTLS variants passed in the same job.
Suggested fix
Move the read into the waitForResult supplier, and wait until the log contains "Running task[%s] for [%d] millis" instead of just Optional::isPresent. #20549 implements this.
Occurrences
Failed push-triggered master jobs only. The daily triage routine adds one row per new failed job.
| Date |
Commit |
Job |
Failure log |
Detail |
Reported in |
| 2026-09-25 |
53e814e (#20425) |
docker-tests |
job 108039867472 |
streamed task log was empty; single attempt (no surefire retries) |
#20428 |
This issue was generated automatically by Claude Code (Anthropic's AI coding agent) running a scheduled CI-triage routine on behalf of @FrankChen021. Analysis and suggested fixes are AI-produced; please verify before acting on them.
Status: Fix PR #20549 open
Subject:
IngestionSmokeTest.test_streamLogs_ofCancelledTask, seen viaConsulDiscoveryPlainDockerTest(embedded-tests,docker-tests)Failures: 1 · First seen: 2026-09-25 · Last seen: 2026-09-25
Root cause
Race: the test polls
TaskLogStreamer.streamTaskLog(taskId, 0)only until theOptionalis present. In the Docker setup, the peon's log is pushed after the process exits, so the stream can be present but empty, which failsassertFalse(logs.isEmpty())atIngestionSmokeTest.java:398. The TLS and MTLS variants passed in the same job.Suggested fix
Move the read into the
waitForResultsupplier, and wait until the log contains"Running task[%s] for [%d] millis"instead of justOptional::isPresent. #20549 implements this.Occurrences
Failed push-triggered master jobs only. The daily triage routine adds one row per new failed job.
docker-tests