You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "slfan1989 (via GitHub)" <gi...@apache.org> on 2025/12/28 09:20:13 UTC

[PR] Add LZ4 compression support with framed format (Puffin compliant) [iceberg-rust]

slfan1989 opened a new pull request, #1966:
URL: https://github.com/apache/iceberg-rust/pull/1966

   ## Which issue does this PR close?
   
   <!--
   We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
   -->
   
   - Closes #.
   
   ## What changes are included in this PR?
   
   Add LZ4 compression support to Iceberg Rust using the `lz4_flex` crate with framed format, fully compliant with the Puffin specification.
   
   - Added `CompressionCodec::Lz4` variant
   - Implemented compression/decompression using `FrameEncoder` / `FrameDecoder`
   - Fixed `FrameEncoder::finish()` bug to prevent decompression panic
   - Added unit tests verifying round-trip correctness for empty data, all-zeros, repeated bytes, etc.
   - Ensured output complies with LZ4 frame magic number requirements
   
   ## Are these changes tested?
   
   Added comprehensive unit tests. All tests pass with `cargo test`, confirming reduced compressed size and correct round-trip decompression.
   
   Thanks for reviewing! Happy to add more tests or benchmarks if needed.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Add LZ4 compression support with framed format (Puffin compliant) [iceberg-rust]

Posted by "slfan1989 (via GitHub)" <gi...@apache.org>.
slfan1989 closed pull request #1966: Add LZ4 compression support with framed format (Puffin compliant)
URL: https://github.com/apache/iceberg-rust/pull/1966


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] Add LZ4 compression support with framed format (Puffin compliant) [iceberg-rust]

Posted by "dentiny (via GitHub)" <gi...@apache.org>.
dentiny commented on PR #1966:
URL: https://github.com/apache/iceberg-rust/pull/1966#issuecomment-4411230851

   Hi I'm wondering if why do we close this PR? I think for the current implementation (which defaults [lz4](https://github.com/apache/iceberg-rust/blob/4f21e503afc5363c10fafac917f0febe136c464e/crates/iceberg/src/puffin/writer.rs#L50)) will throw error when compression enabled.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org