DPL: oldest possible timeframe triggered CompletionPolicy#15046
DPL: oldest possible timeframe triggered CompletionPolicy#15046ktf merged 1 commit intoAliceO2Group:devfrom
Conversation
|
REQUEST FOR PRODUCTION RELEASES: This will add The following labels are available |
|
@ehellbar @davidrohr @shahor02 as we discussed at some point. This should allow us to wait for wildcarded inputs to be completed (i.e. no more data in that time slice possible) before running their consumption callback. This should allow us to fix the issue with the new forwarding in a number of places which were relaying on the forwarding device to accumulate data and send it all together. @ehellbar I am writing a test / example for this, however if you could try it out in parallel with your QC device, it would be great. |
|
Hi, thx, this makes a lot of sense to me. It should fix a couple of issues in the future, and I think in principle we should use this policy by default. I have one request though: Could we add an option, or have a modified alternative version of this policy, which enables to have an orderCheck, like here: Also, a bit related but different, we have the consumeWhenAllOrdered policy, which simply enforces a strict monotonic ordering of the timeslice id. I think we should provide the same for the oldestPossible completion policy, so that we can move over the consumeWhenAll stuff to the new one. |
This will trigger the processing whenever a given slot will not receive data anymore in virtue of its timeslice being past the oldest possible timeframe.
|
@davidrohr as discussed offline, I fully agree there must be some replacement also for the ordered consuming. I will merge this (so that @ehellbar can fix the QC task which was breaking) and then I can extend the feature (including the callback you asked for). Concerning making it default, I am not sure it's a good idea because it potentially introduces latencies if the oldest possible timeframe information gets throttled. |
This will trigger the processing whenever a given slot will not receive data
anymore in virtue of its timeslice being past the oldest possible timeframe.