-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(puffin): Add PuffinWriter #959
Conversation
af396c4
to
d3749f4
Compare
@fqaiser94 Whats the current idea for this? I can offer help if needed. |
Forgot about this, let me try to revive this over the weekend |
d3749f4
to
7252011
Compare
7252011
to
6111a90
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces the PuffinWriter for writing Iceberg Puffin files with a focus on thread safety via a mutex lock for file writes. Key changes include:
- Implementation of the PuffinWriter with header and footer handling.
- Integration of blob compression and metadata tracking.
- Addition of tests to validate behavior across various scenarios.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
crates/iceberg/src/puffin/writer.rs | Introduces the new PuffinWriter and its API for writing blobs. |
crates/iceberg/src/puffin/mod.rs | Registers the new writer module. |
Comments suppressed due to low confidence (1)
crates/iceberg/src/puffin/writer.rs:196
- [nitpick] The test asserts on an exact error message string when add is called after closing. Consider using a dedicated error type or variant in order to make error matching more robust and less brittle.
assert_eq!( writer.add(blob_0(), CompressionCodec::None).await.unwrap_err().to_string(),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @fqaiser94 for this great pr, just some minor suggestions. Maybe we can remove the WriterState
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @fqaiser94 for this great pr, LGTM!
Part of #744
Summary
Context