Skip to content

Core: Implement LZ4 footer compression in Puffin (#16033)#16048

Closed
yadavay-amzn wants to merge 1 commit into
apache:mainfrom
yadavay-amzn:fix/16033-puffin-lz4-v2
Closed

Core: Implement LZ4 footer compression in Puffin (#16033)#16048
yadavay-amzn wants to merge 1 commit into
apache:mainfrom
yadavay-amzn:fix/16033-puffin-lz4-v2

Conversation

@yadavay-amzn
Copy link
Copy Markdown
Contributor

Implements LZ4 frame compression and decompression in PuffinFormat, replacing the TODO stubs that threw UnsupportedOperationException.

Uses lz4-java library (LZ4FrameOutputStream / LZ4FrameInputStream) following the same pattern as the existing Zstd implementation.

Added round-trip test and updated the existing test that previously asserted the exception was thrown.

Closes #16033

Implement LZ4 frame compression and decompression in PuffinFormat using
lz4-java's LZ4FrameOutputStream/LZ4FrameInputStream, replacing the TODO
stubs that threw UnsupportedOperationException.

- Add lz4-java dependency to iceberg-core
- Implement compressLz4() using LZ4FrameOutputStream
- Implement decompressLz4() using LZ4FrameInputStream
- Add LZ4 round-trip test in TestPuffinFormat
- Update TestPuffinWriter.testEmptyFooterCompressed to verify LZ4 works

Closes apache#16033
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.

Core: Puffin LZ4 footer compression throws UnsupportedOperationException at runtime

1 participant