From c97c5d27de6bafa7fb59881052b5c58f2d6ec42a Mon Sep 17 00:00:00 2001 From: Heitor Sammuel Carvalho Date: Thu, 18 Dec 2025 09:22:37 -0300 Subject: [PATCH] Prevent crew inside flow to finish trace batch prematurely on failure --- .../crewai/events/listeners/tracing/trace_listener.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py b/lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py index c8f7000cd..6d52a79ad 100644 --- a/lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py +++ b/lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py @@ -221,11 +221,12 @@ class TraceCollectionListener(BaseEventListener): @event_bus.on(CrewKickoffFailedEvent) def on_crew_failed(source: Any, event: CrewKickoffFailedEvent) -> None: self._handle_trace_event("crew_kickoff_failed", source, event) - if self.first_time_handler.is_first_time: - self.first_time_handler.mark_events_collected() - self.first_time_handler.handle_execution_completion() - else: - self.batch_manager.finalize_batch() + if self.batch_manager.batch_owner_type == "crew": + if self.first_time_handler.is_first_time: + self.first_time_handler.mark_events_collected() + self.first_time_handler.handle_execution_completion() + else: + self.batch_manager.finalize_batch() @event_bus.on(TaskStartedEvent) def on_task_started(source: Any, event: TaskStartedEvent) -> None: