[ 
https://issues.apache.org/jira/browse/HADOOP-10047?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gopal V updated HADOOP-10047:
-----------------------------

    Attachment: HADOOP-10047-WIP.patch

[~cnauroth] - I do not see a way out of this other than a down-cast, without 
adding a method to the interface & breaking source-compat for the API.

The patch attached is code-complete for Zlib, but does it slightly 
inefficiently with 2 memory copies rather than passing the buffer directly into 
the JNI layer.

This allows the API to accept both direct & indirect buffers, which was 
convenient for testing.

> Allow Compressor/Decompressor APIs to expose a Direct ByteBuffer API
> --------------------------------------------------------------------
>
>                 Key: HADOOP-10047
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10047
>             Project: Hadoop Common
>          Issue Type: New Feature
>          Components: io
>            Reporter: Gopal V
>            Assignee: Gopal V
>              Labels: compression
>         Attachments: DirectCompressor.html, DirectDecompressor.html, 
> HADOOP-10047-WIP.patch
>
>
> With the Zero-Copy reads in HDFS (HDFS-5260), it becomes important to perform 
> all I/O operations without copying data into byte[] buffers or other buffers 
> which wrap over them.
> This is a proposal for adding new DirectCompressor and DirectDecompressor 
> interfaces to the io.compress, to indicate codecs which want to surface the 
> direct buffer layer upwards.
> The implementation may or may not copy the buffers passed in, but should work 
> with direct heap/mmap buffers and cannot assume .array() availability.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to