[ https://issues.apache.org/jira/browse/HADOOP-3912?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Albert Chern updated HADOOP-3912:
---------------------------------
Attachment: NativeS3FileSystem.java
> 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.
|