fix: include headers and properties in has_trace_data detection
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m28s
CI / docker (push) Successful in 1m10s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 38s

IngestionService.hasAnyTraceData() and ChunkAccumulator only checked
for inputBody/outputBody when setting has_trace_data on executions.
Headers and properties captured via deep tracing were not considered,
causing the trace data indicator to be missing in the exchange list.

DetailService already checked all six fields — this aligns the
ingestion path to match.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-16 19:26:15 +02:00
parent 4e45be59ef
commit 4ee43bab95
2 changed files with 8 additions and 2 deletions

View File

@@ -70,7 +70,11 @@ public class ChunkAccumulator {
chunk.getStartTime(),
chunk.getProcessors()));
chunkHasTrace = chunk.getProcessors().stream()
.anyMatch(p -> isNonEmpty(p.getInputBody()) || isNonEmpty(p.getOutputBody()));
.anyMatch(p -> isNonEmpty(p.getInputBody()) || isNonEmpty(p.getOutputBody())
|| (p.getInputHeaders() != null && !p.getInputHeaders().isEmpty())
|| (p.getOutputHeaders() != null && !p.getOutputHeaders().isEmpty())
|| (p.getInputProperties() != null && !p.getInputProperties().isEmpty())
|| (p.getOutputProperties() != null && !p.getOutputProperties().isEmpty()));
}
// 2. Buffer/merge the exchange envelope

View File

@@ -136,7 +136,9 @@ public class IngestionService {
private static boolean hasAnyTraceData(List<ProcessorExecution> processors) {
if (processors == null) return false;
for (ProcessorExecution p : processors) {
if (p.getInputBody() != null || p.getOutputBody() != null) return true;
if (p.getInputBody() != null || p.getOutputBody() != null
|| p.getInputHeaders() != null || p.getOutputHeaders() != null
|| p.getInputProperties() != null || p.getOutputProperties() != null) return true;
}
return false;
}