[ https://issues.apache.org/jira/browse/HDFS-1820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17080935#comment-17080935 ]
Mikhail Pryakhin edited comment on HDFS-1820 at 4/10/20, 8:23 PM: ------------------------------------------------------------------ Fixed the issue when FTPFileSystem attempted to close the outputstream even when it is not initialised: * Making sure an underlying outputstream is successfully created by apache-commons FTPClient before wrapping it with FSDataOutputStream. * Gracefully release resources when a destination file can't be created due to lack of permissions. was (Author: m.pryahin): * Making sure an underlying outputstream is successfully created by apache-commons FTPClient before wrapping it with FSDataOutputStream. * Gracefully release resources when a destination file can't be created due to lack of permissions. > FTPFileSystem attempts to close the outputstream even when it is not > initialised > -------------------------------------------------------------------------------- > > Key: HDFS-1820 > URL: https://issues.apache.org/jira/browse/HDFS-1820 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs-client > Affects Versions: 0.20.1 > Environment: occurs on all platforms > Reporter: Sudharsan Sampath > Assignee: Mikhail Pryakhin > Priority: Major > Labels: hadoop > Attachments: HDFS-1820.001.patch > > > FTPFileSystem's create method attempts to close the outputstream even when it > is not initialized causing a null pointer exception. In our case the apache > commons FTPClient was not able to create the destination file due to > permissions issue. The FtpClient promptly reported a 553 : Permissions issue > but it was overlooked in FTPFileSystem create method. > The following code fails > if (!FTPReply.isPositivePreliminary(client.getReplyCode())) { > // The ftpClient is an inconsistent state. Must close the stream > // which in turn will logout and disconnect from FTP server > fos.close(); > throw new IOException("Unable to create file: " + file + ", Aborting"); > } > as 'fos' is null. As a result the proper error message "Unable to create file > XXX" is not reported but rather a null pointer exception. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org