-
Notifications
You must be signed in to change notification settings - Fork 744
Fix .command.stage file write when using Google Cloud #6558
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
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: jorgee <[email protected]>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
|
Ideally it should not write the stage script at all for google batch. That was the intention of this check: nextflow/modules/nextflow/src/main/groovy/nextflow/executor/BashWrapperBuilder.groovy Lines 275 to 282 in 53c28b8
But I didn't consider that the google batch script launcher overwrites the task workDir to be the local container-mounted path. So I'm not sure if there is a clean way to fix this check |
|
I fix changing this because it was the simpler one that implied less modifications. The easy approaches I was considering is overriding the |
|
I feel like the cleanest solution is to add a method to For that I think you'll have to add a field to the |
Signed-off-by: jorgee <[email protected]>
Signed-off-by: jorgee <[email protected]>
|
I have finally implemented the fix by adding the |
close #5888
.command.stage file is created when stage script is larger than 1MB and stage file is in the default filesystem. In the case of Google Batch executor, the stage file is /mnt/xxx/ because of the gcsfuse. Later, it tries to write the file that doesn't exist in the head node, so it fails. It is mainly due to the targetStage file returns the mount path instead of the remote path as for .command.run, etc.
In this PR, I have fixed the error by returning he remote version of the stage file instead of the localone when requesting the targetStageFile.