Skip to content

Implement SnappyByteBuffDecompressor for zero-copy HFile block decomp… - #8551

Draft
SaadASTheDev wants to merge 2 commits into
apache:masterfrom
HubSpot:HBASE-XXXX-SnappyBufferDecompress
Draft

Implement SnappyByteBuffDecompressor for zero-copy HFile block decomp…#8551
SaadASTheDev wants to merge 2 commits into
apache:masterfrom
HubSpot:HBASE-XXXX-SnappyBufferDecompress

Conversation

@SaadASTheDev

Copy link
Copy Markdown
Contributor

…ression

Add ByteBuffDecompressionCodec support to SnappyCodec, mirroring the existing GzipByteBuffDecompressor pattern. SnappyByteBuffDecompressor decompresses directly between SingleByteBuffs without intermediate heap copies: direct-to-direct via Xerial's ByteBuffer API and heap-to-heap via the byte array API. Mixed direct/heap pairs fall through to the existing streaming path. A config flag (hbase.io.compress.snappy.allowByteBuffDecompression, default true) allows opting out per-table via SnappyHFileDecompressionContext.

sahmadsabri added 2 commits August 17, 2026 13:56
…ression

Add ByteBuffDecompressionCodec support to SnappyCodec, mirroring the existing
GzipByteBuffDecompressor pattern. SnappyByteBuffDecompressor decompresses
directly between SingleByteBuffs without intermediate heap copies: direct-to-direct
via Xerial's ByteBuffer API and heap-to-heap via the byte array API. Mixed
direct/heap pairs fall through to the existing streaming path. A config flag
(hbase.io.compress.snappy.allowByteBuffDecompression, default true) allows
opting out per-table via SnappyHFileDecompressionContext.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant