Re: [VFS][SFTP] Unable to navigate to directory
On 15 September 2010 09:51, Nicolas Delsaux nicolas.dels...@gmail.com wrote: Hi all following my previous question, I have a new issue regarding navigation to a SFTP directory. I connect to a remote SFTP server by first creating a FileObject linked to its root folder, then I try to open a subdirectory by calling resolveFile, but it seems to fail in the middle. Here is the code : FileObject root = fsManager.resolveFile(sftp:username:passw...@server/); FileObject target = root.resolveFile(appli/myappli/data/files/ged_bur%250)); return target.getChildren().length0; I initially used target.exists(), but as it did not seems to work, I tried to check for directory content, but it also fails. Notice that when I ssh by hand to this server (with same username and password), I can without any trouble navigate to this directory. I done further exploration and notice that writing, in my debug console the following succeeded root.getChild(appli).getChild(myappli).getChild(data) while the following failed root.getChild(appli).getChild(myappli).getChild(data).getChild(files) with this exception org.apache.commons.vfs.FileSystemException: Could not list the contents of sftp://root:peri...@quasar/appli/perigee_63D/data; because it is not a folder. So 'data' is not a folder. at org.apache.commons.vfs.provider.AbstractFileObject.getChildren(AbstractFileObject.java:527) at org.apache.commons.vfs.provider.AbstractFileObject.getChild(AbstractFileObject.java:634) at com.perigee.svnsync.SftpExecutor.existsContent(SftpExecutor.java:166) at com.perigee.svnsync.SvnSynchronizer.examineRelease(SvnSynchronizer.java:32) at com.perigee.svnsync.SvnSynchronizer.synchronize(SvnSynchronizer.java:86) at com.perigee.svnsync.Main.run(Main.java:125) at com.perigee.svnsync.Main.main(Main.java:110) Unfortunatly, a ls indicates that total 1 drwxr-xr-x 3 root root 72 Jan 25 2010 . drwxr-xr-x 20 root root 880 Sep 6 09:30 .. drwxr-xr-x 5 root root 128 Mar 31 18:11 files So 'files' is a folder. No sign of 'data' yes, as I expected, files is a directory. Notice that I can also do all those SSH operations using, as an example, WinSCP. Which leads me to think that this may not be a server-side issue, but rather a problem with my use of commons VFS. So, have you got any suggestions regarding this particular issue ? Make sure the operations really are identical. They don't appear to be from your description. Thanks -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: [VFS][SFTP] Unable to navigate to directory
On Wed, Sep 15, 2010 at 12:52 PM, sebb seb...@gmail.com wrote: So 'data' is not a folder. Well ... it is, because Unfortunatly, a ls indicates that total 1 drwxr-xr-x 3 root root 72 Jan 25 2010 . drwxr-xr-x 20 root root 880 Sep 6 09:30 .. drwxr-xr-x 5 root root 128 Mar 31 18:11 files So 'files' is a folder. and that ls has been done in data, which is a folder (notice that I'm logging in as root - bad practice, I know, but my enterprise one). No sign of 'data' This is the folder I'm doing the ls in, in fact. Sorry for the misunderstanding. Let me recapitulate. I'm connecting to one machine where, when trying to open the files folder from the data file object using this command root.getChild(appli).getChild(myappli).getChild(data).getChild(files) I get this exception org.apache.commons.vfs.FileSystemException: Could not list the contents of sftp://root:peri...@quasar/appli/perigee_63D/data; because it is not a folder. at org.apache.commons.vfs.provider.AbstractFileObject.getChildren(AbstractFileObject.java:527) at org.apache.commons.vfs.provider.AbstractFileObject.getChild(AbstractFileObject.java:634) at com.perigee.svnsync.SftpExecutor.existsContent(SftpExecutor.java:166) at com.perigee.svnsync.SvnSynchronizer.examineRelease(SvnSynchronizer.java:32) at com.perigee.svnsync.SvnSynchronizer.synchronize(SvnSynchronizer.java:86) at com.perigee.svnsync.Main.run(Main.java:125) at com.perigee.svnsync.Main.main(Main.java:110) Unfortunatly, btoh data and files seems to be folders, at least from these commands : server:/appli/myappli/data # pwd /appli/perigee_63D/data quasar:/appli/myappli/data # ls -la total 1 drwxr-xr-x 3 root root 72 Jan 25 2010 . drwxr-xr-x 20 root root 880 Sep 6 09:30 .. drwxr-xr-x 5 root root 128 Mar 31 18:11 files So, what am i doing wrong ? -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: [VFS][SFTP] Unable to navigate to directory
What does ls show when in myappli? On Sep 15, 2010, at 4:53 AM, Nicolas Delsaux wrote: On Wed, Sep 15, 2010 at 12:52 PM, sebb seb...@gmail.com wrote: So 'data' is not a folder. Well ... it is, because Unfortunatly, a ls indicates that total 1 drwxr-xr-x 3 root root 72 Jan 25 2010 . drwxr-xr-x 20 root root 880 Sep 6 09:30 .. drwxr-xr-x 5 root root 128 Mar 31 18:11 files So 'files' is a folder. and that ls has been done in data, which is a folder (notice that I'm logging in as root - bad practice, I know, but my enterprise one). No sign of 'data' This is the folder I'm doing the ls in, in fact. Sorry for the misunderstanding. Let me recapitulate. I'm connecting to one machine where, when trying to open the files folder from the data file object using this command root.getChild(appli).getChild(myappli).getChild(data).getChild(files) I get this exception org.apache.commons.vfs.FileSystemException: Could not list the contents of sftp://root:peri...@quasar/appli/perigee_63D/data; because it is not a folder. at org.apache.commons.vfs.provider.AbstractFileObject.getChildren(AbstractFileObject.java:527) at org.apache.commons.vfs.provider.AbstractFileObject.getChild(AbstractFileObject.java:634) at com.perigee.svnsync.SftpExecutor.existsContent(SftpExecutor.java:166) at com.perigee.svnsync.SvnSynchronizer.examineRelease(SvnSynchronizer.java:32) at com.perigee.svnsync.SvnSynchronizer.synchronize(SvnSynchronizer.java:86) at com.perigee.svnsync.Main.run(Main.java:125) at com.perigee.svnsync.Main.main(Main.java:110) Unfortunatly, btoh data and files seems to be folders, at least from these commands : server:/appli/myappli/data # pwd /appli/perigee_63D/data quasar:/appli/myappli/data # ls -la total 1 drwxr-xr-x 3 root root 72 Jan 25 2010 . drwxr-xr-x 20 root root 880 Sep 6 09:30 .. drwxr-xr-x 5 root root 128 Mar 31 18:11 files So, what am i doing wrong ? -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: [VFS][SFTP] Unable to navigate to directory
On Wed, Sep 15, 2010 at 4:11 PM, Ralph Goers ralph.go...@dslextreme.com wrote: What does ls show when in myappli? server:/appli/myappli # ls -la total 25041454 drwxr-xr-x 12 root root576 Sep 15 16:17 . drwxr-xr-x 28 root perigee1632 Aug 3 11:03 .. lrwxrwxrwx 1 root root 18 Jan 23 2010 data - /mnt/md0/data_63d/ Damn, maybe this prevents navigation, no ? -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: [VFS][SFTP] Unable to navigate to directory
So the data directory is a link to another mount. I'm not familiar with the SFTP code but my guess is there is something preventing it from following links. Ralph On Sep 15, 2010, at 7:45 AM, Nicolas Delsaux wrote: On Wed, Sep 15, 2010 at 4:11 PM, Ralph Goers ralph.go...@dslextreme.com wrote: What does ls show when in myappli? server:/appli/myappli # ls -la total 25041454 drwxr-xr-x 12 root root576 Sep 15 16:17 . drwxr-xr-x 28 root perigee1632 Aug 3 11:03 .. lrwxrwxrwx 1 root root 18 Jan 23 2010 data - /mnt/md0/data_63d/ Damn, maybe this prevents navigation, no ? -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: [VFS][SFTP] Unable to navigate to directory
I committed a patch a while ago in the FTP provider to have it support symbolic links better: https://issues.apache.org/jira/browse/VFS-196 Perhaps we need to do that with SFTP too? On Wed, Sep 15, 2010 at 11:52 AM, Ralph Goers ralph.go...@dslextreme.com wrote: So the data directory is a link to another mount. I'm not familiar with the SFTP code but my guess is there is something preventing it from following links. Ralph On Sep 15, 2010, at 7:45 AM, Nicolas Delsaux wrote: On Wed, Sep 15, 2010 at 4:11 PM, Ralph Goers ralph.go...@dslextreme.com wrote: What does ls show when in myappli? server:/appli/myappli # ls -la total 25041454 drwxr-xr-x 12 root root 576 Sep 15 16:17 . drwxr-xr-x 28 root perigee 1632 Aug 3 11:03 .. lrwxrwxrwx 1 root root 18 Jan 23 2010 data - /mnt/md0/data_63d/ Damn, maybe this prevents navigation, no ? -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org
Re: [VFS][SFTP] Unable to navigate to directory
On Wed, Sep 15, 2010 at 5:52 PM, Ralph Goers ralph.go...@dslextreme.com wrote: So the data directory is a link to another mount. I'm not familiar with the SFTP code but my guess is there is something preventing it from following links. I'm making the assumption the link is not followed by commons VFS, as debugging indicates that data has FileType.FILE where I guess FileType.DIRECTORY would be needed for getChildren() and the such to work, no ? Unfortunatly, when trying to read symlink content (using getFileContent().getInputStream()), all i get is org.apache.commons.vfs.FileSystemException: Could not read file sftp://root:peri...@quasar/appli/perigee_63D/data;. at org.apache.commons.vfs.provider.AbstractFileObject.getInputStream(AbstractFileObject.java:1123) at org.apache.commons.vfs.provider.DefaultFileContent.getInputStream(DefaultFileContent.java:317) Caused by: 4: Failure at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2289) at com.jcraft.jsch.ChannelSftp._get(ChannelSftp.java:929) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:870) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:849) at org.apache.commons.vfs.provider.sftp.SftpFileObject.doGetInputStream(SftpFileObject.java:384) at org.apache.commons.vfs.provider.AbstractFileObject.getInputStream(AbstractFileObject.java:1119) ... 7 more However, the symlink targets to that folder quasar:/appli/perigee_63D # ls -la /mnt/md0/ total 8144379 drwxr-xr-x 20 root root 880 Sep 6 09:30 . drwxr-xr-x 8 root root 256 Jun 24 10:22 .. drwxr-xr-x 3 root root72 Jan 25 2010 data_destination -- YES, This one ! Which i should be able to navigate, no ? -- Nicolas Delsaux - To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org