Unable to use pool catalog with IOSvc (for reading MDF files)

When processing the data in Moore#495 (closed) with LHCbDIRAC the input LFNs aren't parsed correctly:

LHCb__MDF__IOSvcMM                    ERROR MMAppedFile          Could not find input : LFN:/lhcb/data/2022/RAW/FULL/LHCb/COLLISION22/253597/253597_00090011_0097.raw    StatusCode=FAILURE
ServiceManager                        ERROR Unable to initialize service "LHCb__MDF__IOSvcMM"
LHCb__MDF__IOAlg.IOSvc                ERROR ServiceLocatorHelper::service: can not locate service LHCb::MDF::IOSvcMM/LHCb__MDF__IOSvcMM
LHCb__MDF__IOAlg                      ERROR Service retrieve : Failed to retrieve Service: LHCb::MDF::IOSvcMM/LHCb__MDF__IOSvcMM
HLTControlFlowMgr                     FATAL Event failed in Node DeterministicPrescaler/DeterministicPrescaler
LHCb__MDF__IOSvcMM                    FATAL in sysInitialize(): exception with tag=MMAppedFile is caught

This is due to LHCb::MDF::IOSvcMM not taking into account the pool catalog file which provides the mapping.

We could think about moving this into the Python side (either in PyConf or LbProdRun) however this would remove several features:

  1. Gaudi would no longer be aware of the GUID of MDF files
  2. There would no longer be a fall back to alternative PFNs if opening the first one fails

Loosing (1) is probably okay however LHCbDIRAC makes use of the failover mechanism and we probably don't want to loose it.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information