From 6a9521fe7a3b15488c35efd3551b40a5f8dbc6e0 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Wed, 4 Sep 2024 14:14:16 +0200 Subject: [PATCH 1/2] DPL: Silence another oldestPossible warning after STOP --- Framework/Core/src/CommonServices.cxx | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Framework/Core/src/CommonServices.cxx b/Framework/Core/src/CommonServices.cxx index 0e84333afe115..3245c2bf031c8 100644 --- a/Framework/Core/src/CommonServices.cxx +++ b/Framework/Core/src/CommonServices.cxx @@ -590,7 +590,12 @@ o2::framework::ServiceSpec CommonServices::decongestionSpec() decongestion->nextTimeslice = std::max(decongestion->nextTimeslice, (int64_t)oldestPossibleOutput.timeslice.value); O2_SIGNPOST_EVENT_EMIT(data_processor_context, cid, "oldest_possible_timeslice", "Next timeslice %" PRIi64, decongestion->nextTimeslice); if (oldNextTimeslice != decongestion->nextTimeslice) { - O2_SIGNPOST_EVENT_EMIT_ERROR(data_processor_context, cid, "oldest_possible_timeslice", "Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice); + auto& state = ctx.services().get(); + if (state.transitionHandling != TransitionHandlingState::NoTransition && DefaultsHelpers::onlineDeploymentMode()) { + O2_SIGNPOST_EVENT_EMIT_WARN(data_processor_context, cid, "oldest_possible_timeslice", "Stop transition requested. Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice); + } else { + O2_SIGNPOST_EVENT_EMIT_ERROR(data_processor_context, cid, "oldest_possible_timeslice", "Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice); + } timesliceIndex.rescan(); } } @@ -644,8 +649,9 @@ o2::framework::ServiceSpec CommonServices::decongestionSpec() oldestPossibleOutput.timeslice.value, decongestion.lastTimeslice); return; } - auto &queue = services.get(); - auto& spec = services.get(); + auto& queue = services.get(); + const auto& spec = services.get(); + const auto& state = services.get(); auto *device = services.get().device(); /// We use the oldest possible timeslice to debounce, so that only the latest one /// at the end of one iteration is sent. @@ -683,16 +689,20 @@ o2::framework::ServiceSpec CommonServices::decongestionSpec() TimesliceId{oldestPossibleTimeslice}, -1); if (decongestion.orderedCompletionPolicyActive) { AsyncQueueHelpers::post( - queue, decongestion.oldestPossibleTimesliceTask, [ref = services, oldestPossibleOutput, &decongestion, &proxy, &spec, device, ×liceIndex](size_t id) { + queue, decongestion.oldestPossibleTimesliceTask, [ref = services, oldestPossibleOutput, &decongestion, &proxy, &spec, &state, device, ×liceIndex](size_t id) { O2_SIGNPOST_ID_GENERATE(cid, async_queue); int64_t oldNextTimeslice = decongestion.nextTimeslice; decongestion.nextTimeslice = std::max(decongestion.nextTimeslice, (int64_t)oldestPossibleOutput.timeslice.value); if (oldNextTimeslice != decongestion.nextTimeslice) { - O2_SIGNPOST_EVENT_EMIT_ERROR(async_queue, cid, "oldest_possible_timeslice", "Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice); + if (state.transitionHandling != TransitionHandlingState::NoTransition && DefaultsHelpers::onlineDeploymentMode()) { + O2_SIGNPOST_EVENT_EMIT_WARN(async_queue, cid, "oldest_possible_timeslice", "Stop transition requested. Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice); + } else { + O2_SIGNPOST_EVENT_EMIT_ERROR(async_queue, cid, "oldest_possible_timeslice", "Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice); + } timesliceIndex.rescan(); } - }, - TimesliceId{oldestPossibleOutput.timeslice.value}, -1); + }, + TimesliceId{oldestPossibleOutput.timeslice.value}, -1); } }, .kind = ServiceKind::Serial}; } From 50c3867947ed4b563ee3c58ec257e95967618964 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:27:33 +0200 Subject: [PATCH 2/2] Update Framework/Core/src/CommonServices.cxx --- Framework/Core/src/CommonServices.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Framework/Core/src/CommonServices.cxx b/Framework/Core/src/CommonServices.cxx index 3245c2bf031c8..13b02c74839b9 100644 --- a/Framework/Core/src/CommonServices.cxx +++ b/Framework/Core/src/CommonServices.cxx @@ -651,7 +651,7 @@ o2::framework::ServiceSpec CommonServices::decongestionSpec() } auto& queue = services.get(); const auto& spec = services.get(); - const auto& state = services.get(); + const auto& state = services.get(); auto *device = services.get().device(); /// We use the oldest possible timeslice to debounce, so that only the latest one /// at the end of one iteration is sent.