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 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 is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira