Skip to content

DelayedConditionsCleanerSvc: Clean up mixed ranges (ATEAM-756)

This MR should largley solve the problems reported as ATEAM-756.

Background (thanks @ssnyder for the explanation) : ConditionsContainers whose IOV depends on both a run/lumi and time-stamps are stored as nested container: The outer container has the Run-Lumi IOV, the inner one has the time-stamp IOV. So far, the DelayedConditionsCleanerSvc dealt only with the outer container. For cases like the CaloNoise the inner container can grow massivly because it has a dependece on the timestamp-index HV DCS data.

The main change here is that the CondCont::trim() method of mixed containers calls trim() on the timestamp-based ConditionsContainers its contains. Then, the outer container is trimmed based on Run/Lumi iov-keys. This required an interface change of CondCont to pass the event-indices of the events still in flight in both forms (run/lumi and timestamp) down call-chain to from DelayedConditonsCleanerSvc to CondCont.

With this change, the VMEMV peak of the zmumu-job discussed in ATEAM-756 goes from 12.5 GB to 7.5 GB.

cc also @amete and @tsulaia

Edited by Walter Lampl

Merge request reports