[ http://issues.apache.org/jira/browse/HADOOP-519?page=all ]
Doug Cutting updated HADOOP-519:
--------------------------------
Status: Open (was: Patch Available)
You use an array of Object to return multiple values. Wouldn't this be a lot cleaner with
a small, private, static inner class?
> HDFS File API should be extended to include positional read
> -----------------------------------------------------------
>
> Key: HADOOP-519
> URL: http://issues.apache.org/jira/browse/HADOOP-519
> Project: Hadoop
> Issue Type: New Feature
> Components: dfs
> Affects Versions: 0.6.0
> Environment: All
> Reporter: Milind Bhandarkar
> Assigned To: Milind Bhandarkar
> Fix For: 0.7.0
>
> Attachments: pread.patch
>
>
> HDFS Input streams should support positional read. Positional read (such as the pread
syscall on linux) allows reading for a specified offset without affecting the current file
offset. Since the underlying file state is not touched, pread can be used efficiently in multi-threaded
programs.
> Here is how I plan to implement it.
> Provide PositionedReadable interface, with the following methods:
> int read(long position, byte[] buffer, int offset, int length);
> void readFully(long position, byte[] buffer, int offset, int length);
> void readFully(long position, byte[] buffer);
> Abstract class FSInputStream would provide default implementation of the above methods
using getPos(), seek() and read() methods. The default implementation is inefficient in multi-threaded
programs since it locks the object while seeking, reading, and restoring to old state.
> DFSClient.DFSInputStream, which extends FSInputStream will provide an efficient non-synchronized
implementation for above calls.
> In addition, FSDataInputStream, which is a wrapper around FSInputStream, will provide
wrapper methods for above read methods as well.
> Patch forthcoming early next week.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
|