hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hongyuan Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-14444) New implementation of ftp and sftp filesystems
Date Mon, 03 Jul 2017 16:43:00 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-14444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16072688#comment-16072688

Hongyuan Li commented on HADOOP-14444:

1、{{SFTPChannel.java}}#{{getFileStatus}} should use {{long acessTime =attr.getATime() *
1000L;}} instead of 
 {{long accessTime = 0;}}.
2、{{String user = Integer.toString(attr.getUId());}} and {{String group = Integer.toString(attr.getGId())}}
should got real user and group name which can be parsed from {LsEntry sftpFile}#{{sftpFile.getLongname()}},
which is used by my own written  SFTPFileSystem. 
3、{{SFTPChannel }}#{{listFiles}} using {code}
    try {
      //Get all items from the parent directory
     sftpFiles = client.ls(pathName);
   } catch (SftpException e) {
     LOG.debug("Error when listing files", e);
     throw new FileNotFoundException(String.format(ErrorStrings.E_FILE_NOTFOUND, file));
{code}, but deep into ChannelSFTP only {{SftpException.id}} == {{ChannelSftp.SSH_FX_NO_SUCH_FILE}}

means file not found. 

suggest you to deep into the {{jcraft}} code It is only my suggestion.

> New implementation of ftp and sftp filesystems
> ----------------------------------------------
>                 Key: HADOOP-14444
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14444
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: fs
>    Affects Versions: 2.8.0
>            Reporter: Lukas Waldmann
>            Assignee: Lukas Waldmann
>         Attachments: HADOOP-14444.2.patch, HADOOP-14444.3.patch, HADOOP-14444.4.patch,
> Current implementation of FTP and SFTP filesystems have severe limitations and performance
issues when dealing with high number of files. Mine patch solve those issues and integrate
both filesystems such a way that most of the core functionality is common for both and therefore
simplifying the maintainability.
> The core features:
> * Support for HTTP/SOCKS proxies
> * Support for passive FTP
> * Support of connection pooling - new connection is not created for every single command
but reused from the pool.
> For huge number of files it shows order of magnitude performance improvement over not
pooled connections.
> * Caching of directory trees. For ftp you always need to list whole directory whenever
you ask information about particular file.
> Again for huge number of files it shows order of magnitude performance improvement over
not cached connections.
> * Support of keep alive (NOOP) messages to avoid connection drops
> * Support for Unix style or regexp wildcard glob - useful for listing a particular files
across whole directory tree
> * Support for reestablishing broken ftp data transfers - can happen surprisingly often

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org

View raw message