We observed a race condition where the commitNewData method from the CS was called twice, in a short amount of time, the first one being still ongoing when the second one started. Of course, that does not work.
Two options:
- lock the
commitNewData method
|
def export_commitNewData(self, sData): |
- lock the
sync method
One more option, and probably my favourite one: go back to an agent doing the work, instead of triggering from the CS. Much less error prone...
Opinions ?
We observed a race condition where the
commitNewDatamethod from the CS was called twice, in a short amount of time, the first one being still ongoing when the second one started. Of course, that does not work.Two options:
commitNewDatamethodDIRAC/ConfigurationSystem/Service/ConfigurationHandler.py
Line 72 in 41c6ed2
syncmethodDIRAC/WorkloadManagementSystem/Utilities/PilotCStoJSONSynchronizer.py
Line 73 in 41c6ed2
One more option, and probably my favourite one: go back to an agent doing the work, instead of triggering from the CS. Much less error prone...
Opinions ?