[ https://issues.apache.org/jira/browse/HADOOP-3912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tom White resolved HADOOP-3912. ------------------------------- Resolution: Duplicate > Improvements for NativeS3FileSystem > ----------------------------------- > > Key: HADOOP-3912 > URL: https://issues.apache.org/jira/browse/HADOOP-3912 > Project: Hadoop Core > Issue Type: Improvement > Components: fs/s3 > Reporter: Albert Chern > Attachments: NativeS3FileSystem.java > > > In the process of porting NativeS3FileSystem for use with Hadoop 12, I made > the following changes and improvements which might be helpful (apologies if I > should have opened separate issues, but I was lazy): > 1. The single byte read() method of NativeS3InputStream incorrectly treats > the return value of InputStream.read() as the number of bytes read, which is > actually always 1. > 2. It allows people to write files ending with the folder suffix. I > prevented this by doing a check in the create() method. > 3. Similarly, it allows people to open directories for reading. I prevented > this by doing a check in the open() method. > 4. If you write a file to a nonexistent directory tree, say /a/b/c/d/file, > and then you delete/rename that file or one of its parent directories, the > whole directory tree vanishes. I fixed this by always creating the parent of > a deleted/renamed file. > 5. Recursive delete(), rename(), and getContentLength() can be sped up > tremendously by working directly with S3 listings rather than working at the > FileSystem level. All sub-files/sub-directories should begin with the parent > directory name as a prefix. > 6. HADOOP-3506 is still relevant. > I don't have patches since I created a new file, but I have attached my > source if Tom wants to take a look at it. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.