2.3.1. Tips and gotchas when writing HTCondor ClassAds¶
2.3.1.1. Automatic detection of output files to transfer back to submit notes¶
If should_transfer_files = YES
is specified, HTCondor has heuristics to automatically transfer some files created on the compute node back to your submit node, which can be a surprise to the end users.
should_transfer_files = NO
is not the best choice however, for this other reason.
The recommended setup to suppress this behavior is:
should_transfer_files = YES
transfer_output_files = ""
# optionally, also
when_to_transfer_output = ON_SUCCESS
I.e. either specifically set transfer_output_files
to the list of files and/or directories you need to transfer, or set it to empty string explicitly.
For more details, see Specifying What Files to Transfer — HTCondor Manual.
2.3.1.2. Setting should_transfer_files = No
would prevent jobs from running on some nodes under certain circumstances¶
From issue #45:
It looks like HTCondor adds some restrictions to the requirements expression depending on the value of should_transfer_files
:
IF_NEEDED
(that’s also the default):((TARGET.FileSystemDomain == MY.FileSystemDomain) || (TARGET.HasFileTransfer)) ```a
YES
:(TARGET.HasFileTransfer)
NO
:(TARGET.FileSystemDomain == MY.FileSystemDomain)
As we don’t have a shared filesystem, all nodes in the cluster have a different value for MyFileSystemDomain
, it’s set to the FQDN of each node. This will change once we have a shared filesystem in place.