Open gmloose opened 2 years ago
@gmloose can you check if this behavior also happens in cwltool?
No, with CWLTool it runs fine. Here's the output of exactly the same command, with toil-cwl-runner
replaced by cwltool
:
$ for i in `seq 1 2`; do cwltool runtime.cwl && ls -l --full-time runtime.log && cat runtime.log; done
INFO /project/rapthor/Software/rapthor/bin/cwltool 3.1.20220628170238
INFO Resolved 'runtime.cwl' to 'file:///home/marcel/temp/cwl/runtime.cwl'
INFO [job runtime.cwl] /tmp/8rvkoava$ python3 \
runtime.py > /tmp/8rvkoava/runtime.log
INFO [job runtime.cwl] completed success
{
"logfile": [
{
"location": "file:///home/marcel/temp/cwl/runtime.log",
"basename": "runtime.log",
"class": "File",
"checksum": "sha1$5d9963e21c2c4ac18946fb0a63a5571a225fa179",
"size": 60,
"path": "/home/marcel/temp/cwl/runtime.log"
}
]
}
INFO Final process status is success
-rw-rw-r-- 1 marcel marcel 60 2022-08-25 11:03:34.295831565 +0200 runtime.log
runtime.outdir: /tmp/8rvkoava
runtime.tmpdir: /tmp/nn5wc6w3
INFO /project/rapthor/Software/rapthor/bin/cwltool 3.1.20220628170238
INFO Resolved 'runtime.cwl' to 'file:///home/marcel/temp/cwl/runtime.cwl'
INFO [job runtime.cwl] /tmp/ayuayyot$ python3 \
runtime.py > /tmp/ayuayyot/runtime.log
INFO [job runtime.cwl] completed success
{
"logfile": [
{
"location": "file:///home/marcel/temp/cwl/runtime.log",
"basename": "runtime.log",
"class": "File",
"checksum": "sha1$67848aa15460569ec534e5eff20e5b10ba3e40c7",
"size": 60,
"path": "/home/marcel/temp/cwl/runtime.log"
}
]
}
INFO Final process status is success
-rw-rw-r-- 1 marcel marcel 60 2022-08-25 11:03:41.739847754 +0200 runtime.log
runtime.outdir: /tmp/ayuayyot
runtime.tmpdir: /tmp/kfy85tgs
I noticed that Toil fails to create output if the output file already exists. It may be that this only happens in a particular case, so I will add the workflow that I used demonstrate this behavior below:
If the output file
runtime.log
exists, it is not overwritten and Toil issues no warning whatsoever to inform the user. This is easily demonstrated by running this workflow twice:As you can see from the timestamp of the output file
runtime.log
, but also from its contents, it is not overwritten in the second run.┆Issue is synchronized with this Jira Story ┆friendlyId: TOIL-1209