You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Simon Legner (JIRA)" <ji...@apache.org> on 2015/09/24 23:49:04 UTC

[jira] [Updated] (VFS-492) Support FEAT and MLSx commands for FTP performance improvements.

     [ https://issues.apache.org/jira/browse/VFS-492?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Simon Legner updated VFS-492:
-----------------------------
    Attachment: VFS-492-v2.patch

The provided patch looks very decent. I applied the patch against trunk, resolved minor issues (maven dependency couldn't be resolved, {{DefaultProtocolTestCase}} failed since {{server.setServerControlPort(0)}} was missing) and reformatted to stick to the code style conventions.

> Support FEAT and MLSx commands for FTP performance improvements.
> ----------------------------------------------------------------
>
>                 Key: VFS-492
>                 URL: https://issues.apache.org/jira/browse/VFS-492
>             Project: Commons VFS
>          Issue Type: Improvement
>    Affects Versions: 2.0
>         Environment: Development:
>  Windows 7 Pro.
>  Java 1.7.0_25
>  Eclipse SDK 4.2.2
> Target:
>  All
>            Reporter: Scott Embler
>            Priority: Minor
>              Labels: noob, patch, performance
>         Attachments: VFS-492-v2.patch, ftp-mlsx.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> While using VFS to synchronize/push files between a local file system and an FTP server I noticed severe performance issues whenever the FTP directory had a large number of files. Each refresh of an FtpFileObject asks for a list of the files in the parent directory, and then attempts to pick out the information for a single file.  Performance will degrade quickly as the number of files to be listed increases.
> I'd suggest using MLST and MLSD as an alternative to LIST, where possible.  MLST can retrieve the necessary file information without listing a whole directory.  Both commands also provide unambiguous time-stamps, which was also a problem that I ran into while trying to compare modification times between the local and FTP file systems.
> Attached is a patch that probably does the job.  In cases where MLSx features are not supported, the original LIST command will be used.  Tests are included.  Since I'm new to VFS I'm not sure if this covers all cases, so be warned.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)