nextflow-io / nextflow-io/nextflow
azcopy creates directory on download failure which triggers further issue
- Dominant language
- Groovy
- Stars
- 3.5k
- Forks
- 811
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 61
Description
Bug report
Based on comment: https://github.com/nextflow-io/nextflow/pull/5799#issuecomment-2931082656
Due to code in link it will then try to generate a folder that also crashs. It took a bit of time to find this bug :)
Expected behavior and actual behavior
We can probably be more intelligent about the difference between downloading a directory or a path here.
The current situation:
- azcopy tries to download the input files
- It fails, then creates a directory
- It then tries to download a directory
- It also fails
This obfuscates the failure in step 2 making it hard to debug.
Instead, we could handle downloading paths or directories better. This will probably require some investigation and/or an update to azcopy to see the behaviour but I think it should be possible.
Steps to reproduce the problem
TBC! But it should be possible by:
- Set process.memory to 1GB
- Try to download a large (>50GB) file
- Watch the task on Azure Batch
- Check the working directory.
Program output
🤷
Environment
- Nextflow version: [?]
- Java version: [?]
- Operating system: [macOS, Linux, etc]
- Bash version: (use the command
$SHELL --version)
Additional context
Originally described by @KH-NN, any additional context would be helpful.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with plugins/nf-azure/src/test/nextflow/executor/BashWrapperBuilderWithAzTest.groovy around lines 84-90 and review linked pull request #6187. Investigate the AzCopy download behavior for files versus directories and use the reproduction steps when available; done means a failed file download does not create a misleading directory or obscure the original failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, groovy
- Domain
- cloud, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100