Skip to content

IOVSvc: Remove locking from CondSvc::isValidID.

Scott Snyder requested to merge ssnyder/athena:isValidID.IOVSvc-20201111 into master

The locking within CondSvc::isValidID is heavily contended in jobs with many threads (32-64). Rework so that we don't need to use locking.

Rather than doing a SG lookup each time isValidID is called, we instead build a map from SG key to CondCont instances at the end of initialization. (This is called from CondInputLoader::start). We can then look up the key directly in this map rather then querying SG. Since this map is modified only during START, we don't need any locking.

Merge request reports