Skip to content

Google Storage bucket with underscore is not recognized #1069

@mozack

Description

@mozack

Bug report

Google Cloud - Storage buckets with underscore in name not recognized

Expected behavior and actual behavior

The following does NOT work:
nextflow run test.nf -work-dir gs://lccc_nextflow_test3/work --fq gs://lccc_nextflow_test3/test_1.fastq
N E X T F L O W ~ version 19.01.0
Launching test.nf [golden_sanger] - revision: 3ab717f7aa
ERROR ~ gs:// URIs must have a host: gs://lccc_nextflow_test3/work

The following DOES work:
nextflow run test.nf -work-dir gs://lccc-nextflow-test/work --fq gs://lccc-nextflow-test/test_1.fastq
N E X T F L O W ~ version 19.01.0
Launching test.nf [jolly_ptolemy] - revision: 3ab717f7aa
[warm up] executor > google-pipelines
[43/4ce875] Submitted process > word_count (1)

Steps to reproduce the problem

test.nf :

#!/usr/bin/env nextflow

params.fq = '/datastore/nextgenout4/seqware-analysis/lmose/nextflow/rna_seq_test/data/test/test_1.fastq'

fastq = Channel.fromPath("${params.fq}")

process word_count {
    cpus 1
    memory '2 GB'

    input:
    file input_fq from fastq
    
    output:
    file 'wc.txt' into word_count

    """
      echo ${input_fq}
      wc -l ${input_fq} > wc.txt
      cat wc.txt
    """
}

Does not work:
nextflow run test.nf -work-dir gs://lccc_nextflow_test3/work --fq gs://lccc_nextflow_test3/test_1.fastq

Does work:
nextflow run test.nf -work-dir gs://lccc-nextflow-test/work --fq gs://lccc-nextflow-test/test_1.fastq

gsutil can ls all of the above files and directories

Program output

cat .nextflow.log
Mar-11 10:27:15.785 [main] DEBUG nextflow.cli.Launcher - $> nextflow run test.nf -work-dir 'gs://lccc_nextflow_test3/work' --fq 'gs://lccc_nextflow_test3/test_1.fastq'
Mar-11 10:27:15.960 [main] INFO  nextflow.cli.CmdRun - N E X T F L O W  ~  version 19.01.0
Mar-11 10:27:15.972 [main] INFO  nextflow.cli.CmdRun - Launching `test.nf` [crazy_borg] - revision: 3ab717f7aa
Mar-11 10:27:15.990 [main] DEBUG nextflow.config.ConfigBuilder - Found config local: /datastore/nextgenout2/seqware-analysis/lmose/nextflow/gcp_test1/nextflow.config
Mar-11 10:27:15.991 [main] DEBUG nextflow.config.ConfigBuilder - Parsing config file: /datastore/nextgenout2/seqware-analysis/lmose/nextflow/gcp_test1/nextflow.config
Mar-11 10:27:16.025 [main] DEBUG nextflow.config.ConfigBuilder - Applying config profile: `standard`
Mar-11 10:27:16.670 [main] DEBUG nextflow.Session - Session uuid: 66b0816c-80c2-4205-8bde-8504786bfa07
Mar-11 10:27:16.670 [main] DEBUG nextflow.Session - Run name: crazy_borg
Mar-11 10:27:16.672 [main] DEBUG nextflow.Session - Executor pool size: 64
Mar-11 10:27:16.696 [main] DEBUG nextflow.cli.CmdRun - 
  Version: 19.01.0 build 5050
  Modified: 22-01-2019 11:19 UTC (06:19 EDT)
  System: Linux 3.10.0-514.26.2.el7.x86_64
  Runtime: Groovy 2.5.5 on Java HotSpot(TM) 64-Bit Server VM 1.8.0_144-b01
  Encoding: UTF-8 (UTF-8)
  Process: 75485@hm1-pvt.bioinf.unc.edu [172.27.142.114]
  CPUs: 64 - Mem: 503.7 GB (407.8 GB) - Swap: 4 GB (3.7 GB)
Mar-11 10:27:17.250 [main] ERROR nextflow.cli.Launcher - @unknown
java.lang.IllegalArgumentException: gs:// URIs must have a host: gs://lccc_nextflow_test3/work
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:383)
	at com.google.cloud.storage.contrib.nio.CloudStorageFileSystemProvider.newFileSystem(CloudStorageFileSystemProvider.java:252)
	at com.google.cloud.storage.contrib.nio.CloudStorageFileSystemProvider.getFileSystem(CloudStorageFileSystemProvider.java:231)
	at com.google.cloud.storage.contrib.nio.CloudStorageFileSystemProvider.getFileSystem(CloudStorageFileSystemProvider.java:88)
	at nextflow.file.FileHelper.getOrCreateFileSystemFor(FileHelper.groovy:576)
	at nextflow.file.FileHelper.getOrCreateFileSystemFor(FileHelper.groovy)
	at nextflow.file.FileHelper.asPath(FileHelper.groovy:274)
	at nextflow.file.FileHelper.asPath(FileHelper.groovy:254)
	at nextflow.extension.Bolts.asType(Bolts.groovy:432)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod.invoke(ReflectionMetaMethod.java:54)
	at org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod.invoke(NewInstanceMetaMethod.java:56)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
	at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:999)
	at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:990)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:182)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.asType(ScriptBytecodeAdapter.java:605)
	at nextflow.Session.init(Session.groovy:318)
	at nextflow.script.ScriptRunner.init(ScriptRunner.groovy:256)
	at nextflow.script.ScriptRunner.execute(ScriptRunner.groovy:160)
	at nextflow.cli.CmdRun.run(CmdRun.groovy:240)
	at nextflow.cli.Launcher.run(Launcher.groovy:445)
	at nextflow.cli.Launcher.main(Launcher.groovy:622)

Environment

nextflow -version

      N E X T F L O W
      version 19.01.0 build 5050
      last modified 22-01-2019 11:19 UTC (06:19 EDT)
      cite doi:10.1038/nbt.3820
      http://nextflow.io

java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

OS: Centos 7

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions