Make the getFiles and getFilesWithMetadata safer
From https://mattermost.web.cern.ch/lhcb/pl/yacxb5umc7nubb4hnizcscs9nh:
Currently the testing code does this:
(Pdb) bkQueryDict
{'FileType': 'DIGI', 'EventType': '13104051', 'ConfigName': 'MC', 'ConfigVersion': 'Dev', 'DataTakingConditions': 'Beam6800GeV-expected-2024-MagDown-Nu7.6-25ns-Pythia8', 'ProcessingPass': 'Sim10c', 'DataQualityFlag': 'OK'}
(Pdb) returnValueOrRaise(BookkeepingClient().getFilesWithMetadata(bkQueryDict))["TotalRecords"]
1462
However the real productions use this call to get input LFNs:
(Pdb) len(returnValueOrRaise(BookkeepingClient().getFiles(bkQueryDict)))
593
The two have a different defintion of the "bookkeeping query"...
If I set ConditionDescription
in the query to be the same as DataTakingConditions
(Pdb) bkQueryDict["ConditionDescription"] = bkQueryDict["DataTakingConditions"]
(Pdb) returnValueOrRaise(BookkeepingClient().getFilesWithMetadata(bkQueryDict))["TotalRecords"], len(returnValueOrRaise(BookkeepingClient().getFiles(bkQueryDict)))
(593, 593)
@azhelezo I fear we can't change the behavior of these but can we make it so that getFilesWithMetadata
and getFiles
fail with a sensible error if the query isn't formed in the way they expect?
Edited by Chris Burr