Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
The DFSInputStream read-path always copies bytes into a JVM-allocated byte[]. Although for many clients this is desired behaviour, in certain situations, such as native-reads through libhdfs, this imposes an extra copy penalty since the byte[] needs to be copied out again into a natively readable memory area.
For these cases, it would be preferable to allow the client to supply its own buffer, wrapped in a ByteBuffer, to avoid that final copy overhead.
Attachments
Attachments
Issue Links
- breaks
-
HDFS-3243 TestParallelRead timing out on jenkins
- Closed
- depends upon
-
HADOOP-8135 Add ByteBufferReadable interface to FSDataInputStream
- Closed
- is depended upon by
-
HDFS-3110 libhdfs implementation of direct read API
- Closed
- is related to
-
HBASE-8143 HBase on Hadoop 2 with local short circuit reads (ssr) causes OOM
- Closed
-
HDFS-3053 Support for true zero-copy (mmap-based) reads
- Resolved
-
HDFS-3051 A zero-copy ScatterGatherRead api from FSDataInputStream
- Open
-
HBASE-21879 Read HFile's block to ByteBuffer directly instead of to byte for reducing young gc purpose
- Closed
- relates to
-
HADOOP-8148 Zero-copy ByteBuffer-based compressor / decompressor API
- Open
-
HDFS-15693 Improve native code's performance when writing to HDFS
- Open
-
HDFS-3246 pRead equivalent for direct read path
- Resolved