From 4ee43bab95c00b50682f28216b5daeb6f17acdc9 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Thu, 16 Apr 2026 19:26:15 +0200 Subject: [PATCH] fix: include headers and properties in has_trace_data detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- .../cameleer/server/core/ingestion/ChunkAccumulator.java | 6 +++++- .../cameleer/server/core/ingestion/IngestionService.java | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/ChunkAccumulator.java b/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/ChunkAccumulator.java index 9a8f1c0b..d8affa45 100644 --- a/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/ChunkAccumulator.java +++ b/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/ChunkAccumulator.java @@ -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 diff --git a/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/IngestionService.java b/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/IngestionService.java index 01649c45..e586f92b 100644 --- a/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/IngestionService.java +++ b/cameleer-server-core/src/main/java/com/cameleer/server/core/ingestion/IngestionService.java @@ -136,7 +136,9 @@ public class IngestionService { private static boolean hasAnyTraceData(List 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; }