Skip to content

Commit ad05929

Browse files
davidrohrmartenole
authored andcommitted
DPL: Fix orderedCompletionPolicy getting stuck when oldestPossibleTimeslice message jumps by > 1 at once, and any but the last TF in the jump range is missing
1 parent 7a9ed8c commit ad05929

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

Framework/Core/src/CommonServices.cxx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -676,17 +676,21 @@ o2::framework::ServiceSpec CommonServices::decongestionSpec()
676676
}
677677
}
678678
decongestion.lastTimeslice = oldestPossibleOutput.timeslice.value;
679-
if (decongestion.orderedCompletionPolicyActive) {
680-
679+
},
680+
TimesliceId{oldestPossibleTimeslice}, -1);
681+
if (decongestion.orderedCompletionPolicyActive) {
682+
AsyncQueueHelpers::post(
683+
queue, decongestion.oldestPossibleTimesliceTask, [ref = services, oldestPossibleOutput, &decongestion, &proxy, &spec, device, &timesliceIndex](size_t id) {
684+
O2_SIGNPOST_ID_GENERATE(cid, async_queue);
681685
int64_t oldNextTimeslice = decongestion.nextTimeslice;
682686
decongestion.nextTimeslice = std::max(decongestion.nextTimeslice, (int64_t)oldestPossibleOutput.timeslice.value);
683687
if (oldNextTimeslice != decongestion.nextTimeslice) {
684688
O2_SIGNPOST_EVENT_EMIT_ERROR(async_queue, cid, "oldest_possible_timeslice", "Some Lifetime::Timeframe data got dropped starting at %" PRIi64, oldNextTimeslice);
685689
timesliceIndex.rescan();
686690
}
687-
}
688691
},
689-
TimesliceId{oldestPossibleTimeslice}, -1); },
692+
TimesliceId{oldestPossibleOutput.timeslice.value}, -1);
693+
} },
690694
.kind = ServiceKind::Serial};
691695
}
692696

0 commit comments

Comments
 (0)