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

Charles Connell updated HBASE-30321:
------------------------------------
    Description: 
Add GzipByteBuffDecompressor, a ByteBuffDecompressor implementation that 
enables GZIP decompression directly from/to ByteBuffer objects without 
intermediate byte array copies.

one decompression path is supported:
 - Off-heap (direct ByteBuffer): delegates to Hadoop's native 
ZlibDirectDecompressor with AUTODETECT_GZIP_ZLIB when native zlib is loaded

Also adds GzipHFileDecompressionContext to carry per-block configuration, and 
input-length validation to reject inputs too short to be a valid GZIP member.

The prior code had no ByteBuff-based GZIP decompression path, requiring byte 
array copies for on-heap scenarios. This eliminates those copies for both 
direct and heap buffer cases.

  was:
Add GzipByteBuffDecompressor, a ByteBuffDecompressor implementation that 
enables GZIP
decompression directly from/to ByteBuffer objects without intermediate byte 
array copies.

one decompression path is supported:
 - Off-heap (direct ByteBuffer): delegates to Hadoop's native 
ZlibDirectDecompressor with
  GZIP_FORMAT when native zlib is loaded

Also adds GzipHFileDecompressionContext to carry per-block configuration, and
input-length validation to reject inputs too short to be a valid GZIP member.

The prior code had no ByteBuff-based GZIP decompression path, requiring byte 
array
copies for on-heap scenarios. This eliminates those copies for both direct and 
heap
buffer cases.


> Implement GzipByteBuffDecompressor with off-heap decompression path
> -------------------------------------------------------------------
>
>                 Key: HBASE-30321
>                 URL: https://issues.apache.org/jira/browse/HBASE-30321
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Saad Ahmad Sabri
>            Assignee: Saad Ahmad Sabri
>            Priority: Major
>         Attachments: gzip bytebuff alloc rate.png, gzip bytebuff handler 
> utilization.png
>
>
> Add GzipByteBuffDecompressor, a ByteBuffDecompressor implementation that 
> enables GZIP decompression directly from/to ByteBuffer objects without 
> intermediate byte array copies.
> one decompression path is supported:
>  - Off-heap (direct ByteBuffer): delegates to Hadoop's native 
> ZlibDirectDecompressor with AUTODETECT_GZIP_ZLIB when native zlib is loaded
> Also adds GzipHFileDecompressionContext to carry per-block configuration, and 
> input-length validation to reject inputs too short to be a valid GZIP member.
> The prior code had no ByteBuff-based GZIP decompression path, requiring byte 
> array copies for on-heap scenarios. This eliminates those copies for both 
> direct and heap buffer cases.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to