quiltdata / nf-quilt

GNU General Public License v3.0
7 stars 1 forks source link

dot-path #210

Closed drernie closed 2 months ago

drernie commented 2 months ago

The newer nf-schema plugin seems to create relative URIs of the form:

quilt+s3://./

This breaks all our semantics. We should try to reproduce, then fix.

drernie commented 2 months ago
Jun-14 19:16:54.756 [main] DEBUG nextflow.Session - Session aborted -- Cause: Cannot invoke 
Jun-14 19:16:54.742 [main] DEBUG nextflow.quilt.nio.QuiltPath - Creating QuiltPath: bfx-input?initiative=index&tpdi_id=TPDI-292#package=index-fetchngs%2fcellarity-nfcore-fetchngs_tpdi-292
Jun-14 19:16:54.747 [main] WARN  nextflow.quilt.jep.QuiltID - QuiltID.fetch: setting missing package to null
Jun-14 19:16:54.748 [main] WARN  nextflow.quilt.jep.QuiltID - QuiltID.fetch: setting missing package to null
Jun-14 19:16:54.748 [main] DEBUG nextflow.file.FileHelper - Creating a file system instance for provider: QuiltFileSystemProvider
Jun-14 19:16:54.748 [main] WARN  nextflow.quilt.jep.QuiltID - QuiltID.fetch: setting missing package to null
Jun-14 19:16:54.748 [main] WARN  nextflow.quilt.jep.QuiltID - QuiltID.fetch: setting missing package to null
Jun-14 19:16:54.748 [main] DEBUG nextflow.quilt.nio.QuiltPath - Creating QuiltPath: .
Jun-14 19:16:54.752 [main] DEBUG nextflow.quilt.nio.QuiltFileSystem - QuiltFileAttributes QuiltFileSystem.readAttributes(.)

"nextflow.quilt.jep.QuiltPackage.packageDest()" because the return value of "nextflow.quilt.nio.QuiltPath.pkg()" is null
Jun-14 19:16:54.767 [main] ERROR nextflow.cli.Launcher - @unknown
java.lang.NullPointerException: Cannot invoke "nextflow.quilt.jep.QuiltPackage.packageDest()" because the return value of "nextflow.quilt.nio.QuiltPath.pkg()" is null
    at nextflow.quilt.nio.QuiltPath.localPath(QuiltPath.groovy:77)
    at nextflow.quilt.nio.QuiltFileSystem.readAttributes(QuiltFileSystem.groovy:110)
    at nextflow.quilt.nio.QuiltFileSystemProvider.readAttributes(QuiltFileSystemProvider.groovy:484)
drernie commented 2 months ago

Unfortunately, the schema code implicitly assumes that "." is a valid path. The call stack is deep enough we have to synthesize one rather than returning null. The best way I can think to do that is to create a /dev/null bucket that warns but does not error. nf-4NtJKIDX7uGWX5.log

drernie commented 2 months ago

arn:aws:s3:::nf-quilt-dev-null

WARNING: you are attempting to write to a non-existent bucket