How FTS interacts with SRM
Taken from a mail of Paolo Tedesco:
Here are the diagrams with the SRM calls performed by FTS:
for url-copy channels:
https://twiki.cern.ch/twiki/bin/view/EGEE/FTSSRMSequenceDiagrams
for srm-copy channels:https://twiki.cern.ch/twiki/bin/view/EGEE/SrmCopySequenceDiagrams
In both cases FTS performs:
1) an srmLs on the source file. If it does not exist, the transfer fails immediately
2) an srmLs on the destination file. If it exists and the overwrite option is not specified, then the transfer fails immediately. This check is also used for
cleanup if the transfer fails.
3) a recursive series of srmLs/srmMkDir to create the target directory, which, according to the specification, must exist before the transfer starts.
Starting from FTS 2.1, the automatic target directory check and creation (part 3) can be turned off with a channel setting (please check
https://twiki.cern.ch/twiki/bin/view/LCG/FtsChangesFrom20To21).
All the srmLs operations use fullDetailedList = true - this is a known bug (
https://savannah.cern.ch/bugs/?39992
) and has been fixed in FTS 2.2 (next
release).
Please note, however, that directory contents are never listed (numOfLevels =0), FTS just checks for the existence of directories.
--
ElisaLanciotti - 23 Feb 2009