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

Reply via email to