2025-08-25 10:07:46,535:140682525681344:ERROR:WorkflowUpdaterPoller:Caught unexpected exception in WorkflowUpdater. Details:
'logical_file_name'
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 310, in algorithm
self.adjustJSONSpec(puWflows, msPileupList)
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 396, in adjustJSONSpec
puNewJsonContent = updateBlockInfo(puJsonContent, msPUBlockLoc, self.dbsUrl, self.logger)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 185, in updateBlockInfo
binfo = getBlockInfo4PU(blocksToUpdate, dbsUrl, ckey(), cert())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMCore/Services/DBS/DBSConcurrency.py", line 41, in getBlockInfo4PU
files = [r['logical_file_name'] for r in data]
~^^^^^^^^^^^^^^^^^^^^^
KeyError: 'logical_file_name'
2025-08-25 10:07:46,567:140682525681344:ERROR:BaseWorkerThread:Error in worker algorithm (1):
Backtrace:
<WMComponent.WorkflowUpdater.WorkflowUpdaterPoller.WorkflowUpdaterPoller object at 0x7ff337b67a40> <@========== WMException Start ==========@>
Exception Class: WorkflowUpdaterException
Message: Caught unexpected exception in WorkflowUpdater. Details:
'logical_file_name'
ClassName : None
ModuleName : WMComponent.WorkflowUpdater.WorkflowUpdaterPoller
MethodName : algorithm
ClassInstance : None
FileName : /usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py
LineNumber : 314
ErrorNr : 0
Traceback:
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 310, in algorithm
self.adjustJSONSpec(puWflows, msPileupList)
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 396, in adjustJSONSpec
puNewJsonContent = updateBlockInfo(puJsonContent, msPUBlockLoc, self.dbsUrl, self.logger)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 185, in updateBlockInfo
binfo = getBlockInfo4PU(blocksToUpdate, dbsUrl, ckey(), cert())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMCore/Services/DBS/DBSConcurrency.py", line 41, in getBlockInfo4PU
files = [r['logical_file_name'] for r in data]
~^^^^^^^^^^^^^^^^^^^^^
<@---------- WMException End ----------@> File "/usr/local/lib/python3.12/site-packages/WMCore/WorkerThreads/BaseWorkerThread.py", line 183, in __call__
tSpent, results, _ = algorithmWithDBExceptionHandler(parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMCore/Database/DBExceptionHandler.py", line 43, in wrapper
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/Utils/Timers.py", line 57, in wrapper
res = func(*arg, **kw)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 314, in algorithm
raise WorkflowUpdaterException(msg) from None
2025-08-25 10:07:46,567:140682525681344:INFO:Harness:>>>Terminating worker threads
2025-08-25 10:07:46,567:140682525681344:ERROR:BaseWorkerThread:Error in event loop (2): <WMComponent.WorkflowUpdater.WorkflowUpdaterPoller.WorkflowUpdaterPoller object at 0x7ff337b67a40> <@========== WMException Start ==========@>
Exception Class: WorkflowUpdaterException
Message: Caught unexpected exception in WorkflowUpdater. Details:
'logical_file_name'
ClassName : None
ModuleName : WMComponent.WorkflowUpdater.WorkflowUpdaterPoller
MethodName : algorithm
ClassInstance : None
FileName : /usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py
LineNumber : 314
ErrorNr : 0
Traceback:
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 310, in algorithm
self.adjustJSONSpec(puWflows, msPileupList)
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 396, in adjustJSONSpec
puNewJsonContent = updateBlockInfo(puJsonContent, msPUBlockLoc, self.dbsUrl, self.logger)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 185, in updateBlockInfo
binfo = getBlockInfo4PU(blocksToUpdate, dbsUrl, ckey(), cert())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMCore/Services/DBS/DBSConcurrency.py", line 41, in getBlockInfo4PU
files = [r['logical_file_name'] for r in data]
~^^^^^^^^^^^^^^^^^^^^^
<@---------- WMException End ----------@>
Backtrace:
File "/usr/local/lib/python3.12/site-packages/WMCore/WorkerThreads/BaseWorkerThread.py", line 209, in __call__
raise ex
File "/usr/local/lib/python3.12/site-packages/WMCore/WorkerThreads/BaseWorkerThread.py", line 183, in __call__
tSpent, results, _ = algorithmWithDBExceptionHandler(parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMCore/Database/DBExceptionHandler.py", line 43, in wrapper
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/Utils/Timers.py", line 57, in wrapper
res = func(*arg, **kw)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/WMComponent/WorkflowUpdater/WorkflowUpdaterPoller.py", line 314, in algorithm
raise WorkflowUpdaterException(msg) from None
2025-08-25 10:07:46,909:140682525681344:INFO:BaseWorkerThread:Worker thread <WMComponent.WorkflowUpdater.WorkflowUpdaterPoller.WorkflowUpdaterPoller object at 0x7ff337b67a40> terminated
^[[A
File "/usr/local/lib/python3.12/site-packages/WMCore/Services/DBS/DBSConcurrency.py", line 41, in getBlockInfo4PU
files = [r['logical_file_name'] for r in data]
~^^^^^^^^^^^^^^^^^^^^^
KeyError: 'logical_file_name'
Impact of the bug
WMAgent (WorkflowUpdater), WMA Jobs submitted without proper
pileupconf.jsonDescribe the bug
WorkflowUpdater is failing to update
pileupconf.jsondue to keyError caused by data fetched from DBS,I would expect each file to have a
logical_file_namebut it seems like that not the cause.How to reproduce it
Steps to reproduce the behavior:
Inject a workflow reading the pileup
/Neutrino_E-10_gun/Run3Summer21PrePremix-Summer23_130X_mcRun3_2023_realistic_v13-v1/PREMIXand the WorkflowUpdater will not be able to create thepileupconf.jsonExpected behavior
pileupconf.jsonto be created properly andWorkflowUpdaterto not crash becuase of it.Additional context and error message
I will try to find the DBS file or block responsible and see if its a DBS issue.
FYI @anpicci @amaltaro