-
Notifications
You must be signed in to change notification settings - Fork 764
Add aws.batch.forceGlacierTransfer config option #6700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
✅ Deploy Preview for nextflow-docs-staging ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
1ca5397 to
daf9ed7
Compare
Clean up trailing spaces in retryEnv(), s3Lib(), and s5cmdLib() methods, and update corresponding test expectations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Rob Syme <rob.syme@gmail.com>
daf9ed7 to
ee43990
Compare
|
@claude Review |
|
Claude finished @robsyme's task —— View job Code Review AnalysisReviewing PR #6700: Add aws.batch.forceGlacierTransfer config option Todo List:
Review SummaryThis PR successfully implements the ✅ Strengths1. Clean Architecture & Implementation
2. Targeted Solution
3. Excellent Test Coverage
4. Documentation & Clarity
🔍 Technical DetailsConfig Flow AnalysisThe implementation follows a clean data flow:
Bash Script GenerationThe generated bash includes the flag conditionally: # When forceGlacierTransfer = true
aws s3 cp --only-show-errors --recursive --force-glacier-transfer "$source" "$target"
# When forceGlacierTransfer = false (default)
aws s3 cp --only-show-errors --recursive "$source" "$target"
|
Add configuration option to enable --force-glacier-transfer flag for AWS CLI S3 download commands. This allows downloading restored Glacier/Deep Archive objects that retain their storage class metadata. When enabled via: aws.batch.forceGlacierTransfer = true The nxf_s3_download function will include --force-glacier-transfer in aws s3 cp commands, enabling downloads of restored Glacier objects without AWS CLI skipping them due to storage class checks. Fixes: #4747 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Rob Syme <rob.syme@gmail.com>
ee43990 to
8fc1ffc
Compare
|
In response to the performance consideration raided by @claude: From what I can see, when enabling the flag for standard storage class objects, the flag is effectively a no-op - the transfer proceeds normally either way. There are:
|
|
Claude finished @robsyme's task —— View job Claude is reviewing @robsyme's clarification Todo List:
Updated Code Review AnalysisThank you for the clarification @robsyme! You're absolutely correct about the performance consideration. ✅ Performance Clarification - Issue ResolvedYour explanation confirms that my minor performance observation was indeed not a concern: AWS CLI
This means the flag is effectively transparent for non-Glacier objects, making it safe to enable globally when needed without any performance penalty. 📊 Final AssessmentStatus: ✅ APPROVE - Ready for merge The implementation is excellent and my previous "performance consideration" is resolved. This PR:
The |
|
happy to help test as soon as you can point us to a nextflow dev version ! thanks @robsyme ! |
plugins/nf-amazon/src/main/nextflow/cloud/aws/config/AwsBatchConfig.groovy
Outdated
Show resolved
Hide resolved
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
plugins/nf-amazon/src/main/nextflow/cloud/aws/util/S3BashLib.groovy
Outdated
Show resolved
Hide resolved
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Signed-off-by: Ben Sherman <bentshermann@gmail.com>
Co-authored-by: Ben Sherman <bentshermann@gmail.com>

Summary
aws.batch.forceGlacierTransferconfiguration option to enable--force-glacier-transferflag for AWS CLI S3 download commandsProblem
When Nextflow stages input files from S3 directories containing restored Glacier/Deep Archive objects, AWS CLI skips them even though they are fully accessible. This is because AWS CLI checks the storage class metadata (which remains
GLACIERorDEEP_ARCHIVEeven after restoration) and refuses to download unless--force-glacier-transferis specified.Error message from AWS CLI:
Solution
Add a new config option:
aws { batch { forceGlacierTransfer = true } }When enabled, the
nxf_s3_downloadbash function includes--force-glacier-transferinaws s3 cpcommands, allowing restored Glacier objects to be downloaded.Test plan
AwsBatchConfigTestS3BashLibTestCloses #4747