Skip to content

[ATR-24398][ATR-24452] Update the way that rejected trigger navigation nodes are located

  • When requesting features from failed triggers, we used to need to explore all trigger navigation nodes spread out over O(1000)s of HLTNav_.* collections (created online)
  • This can change from file-to-file, so it was set to query SG for the list on every event
  • For some reason I changed this to cache the result, I'm not sure why I did this (?)
  • The caching of the list generates a race condition when offline slimming is enabled. If the offline output sliming container is caught in the cache in the 1st event but then in another event a feature request comes in before the output sliming container was created then we try and read a collection before it is written.
  • We never want to look in output containers here (e.g. slimming output). Only ever input ones (from the POOL input or decoded from the BS).
  • We therefore need better control of where we look here...
  • We only need to query SG for the collections when we are dealing with the pre merged collections. This is now very rare! (Since we started to do the first level of compactification online)
  • In the vast majority of jobs now we will be able to just search the one collection for rejected decision nodes.

Merge request reports