[Swift-devel] Re: File names in gridftp provider seem to need an extra leading /

Mihael Hategan hategan at mcs.anl.gov
Wed Nov 10 15:59:04 CST 2010


On Wed, 2010-11-10 at 14:35 -0600, Michael Wilde wrote:
> Both when I map files to a physical name starting with gsiftp://, and
> when I copy files using the swift version of globus-url-copy, I seem
> to need an extra "/" at the start of the file's pathname.

Absolute paths need an extra "/". The first one (i.e. the one between
the host name and the path name) is considered a separator and not
counted as part of the path name.

Mihael

> 
> Here's an example of the issue from within a .swift script:
> 
> login1$ swift -config cf -sites.file sites.xml -tc.file tc.data gcat.swift
> Swift svn swift-r3702 (swift modified locally) cog-r2924 (cog modified locally)
> 
> RunID: 20101110-1426-uouuvdf1
> Progress:
> Failed to transfer wrapper log from gcat-20101110-1426-uouuvdf1/info/g on localhost
> Execution failed:
>         Exception in cp:
> Arguments: [etc/group, home/wilde/godata/gridoutput.txt]
> Host: localhost
> Directory: gcat-20101110-1426-uouuvdf1/jobs/g/cp-g3yt5f1k
> stderr.txt: 
> 
> stdout.txt: 
> 
> ----
> 
> Caused by:
>         org.globus.cog.abstraction.impl.file.FileResourceException: Failed to retrieve file information about etc/group
>                                 ^^^^^^^^^ 
> Caused by:
>         Server refused performing the request. Custom message: Server refused MLST command (error code 1) [Nested exception message:  Custom message: Unexpected reply: 500-Command failed : globus_gridftp_server_file.c:globus_l_gfs_file_stat:389:
> 500-System error in stat: No such file or directory
> 500-A system call failed: No such file or directory
> 500 End.]
> login1$ cat gcat.swift
> 
> type file;
> 
> app (file o) copy (file i)
> {
>   cp @i @o;
> }
> 
> file f1<"gsiftp://pf-grid.unl.edu/etc/group">;
> file f2<"gsiftp://gridftp.pads.ci.uchicago.edu/home/wilde/godata/gridoutput.txt">;
> f2 = copy(f1);
> login1$ 
> 
> When I put 2 slashes after the hostname in the URIs above, it works.
> 
> A similar issue occurs using Swift globus-url-copy, using the file:// protocol.  Rather then the usual 3 slashes after file:, I need *4*. With 3, it looks (in my test) for etc/group instead of /etc/group. With 4 it works.  With 2, it drops of etc entirely and looks for the file "group".
> 
> Are both of these the normal/expected behavior from the Swift gridftp code, or is this an error?
> 
> - Mike
> 





More information about the Swift-devel mailing list