-
Notifications
You must be signed in to change notification settings - Fork 0
8633: Fix Writer docs and rename AvroBinaryFormat to AvroSoeFormat
#2
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
base: main
Are you sure you want to change the base?
Conversation
…port - Replaced `AvroBinaryFormat` with `AvroSoeFormat` across the `arrow-avro` crate to align with the Avro Single-Object Encoding (SOE) specification. - Updated documentation and examples to reflect the new format, emphasizing SOE prefixes and compatibility with schema registries. - Adjusted error messages and internal implementations to accommodate the new format. - Extended support for additional framing protocols, including Confluent and Apicurio, as documented.
WalkthroughThe pull request refactors Avro writer functionality by renaming Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes The changes are predominantly homogeneous—a consistent refactoring that renames one format type to another across multiple files and updates related documentation. While affecting multiple files, the pattern is repetitive and straightforward. The new trait addition is minimal. No complex logic modifications are present. Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (4)
🧰 Additional context used🧬 Code graph analysis (1)arrow-avro/src/writer/mod.rs (3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
🔇 Additional comments (6)
Comment |
Pull Request ReviewThank you for this PR! This is a well-executed refactoring that improves code clarity and documentation. Here's my detailed review: ✅ Code Quality & Best PracticesStrengths:
Minor observations:
🔍 Potential IssuesNone identified. The changes are:
⚡ Performance ConsiderationsNo performance impact. This is a pure refactoring:
🔒 Security ConcernsNone. The changes are documentation and naming only—no modifications to:
🧪 Test CoverageExcellent test coverage maintained:
Recommendation: cargo test --package arrow-avro --doc📝 Additional Observations
🎯 SummaryRecommendation: ✅ Approve This is a high-quality refactoring that:
Suggested next steps:
Great work on making the codebase more understandable! 🚀 |
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.
Review completed. 1 suggestion posted.
| //! input. Implements [`Iterator<Item = Result<RecordBatch, ArrowError>>`] and | ||
| //! `RecordBatchReader`. | ||
| //! * [`Decoder`](crate::reader::Decoder): a push‑based row decoder that consumes raw Avro bytes and yields ready | ||
| //! * [`Decoder`](crate::reader::Decoder): a push‑based row decoder that consumes SOE framed Avro bytes and yields ready |
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.
Decoder also supports Confluent and Apicurio framed messages; consider saying “consumes Avro‑framed bytes (SOE/Confluent/Apicurio)” instead of only “SOE framed” to avoid misleading readers.
🤖 React with 👍 or 👎 to let us know if the comment was useful.
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.
value:good-but-wont-fix; category:documentation; feedback:The AI reviewer is correct that the decoder supports several formats but all of them are Single Object Encoded with custom headers, so there is no need to make this part of the documentation more specific.
|
Findings
Summary
Next Steps
|
8633: To review by AI
Summary by CodeRabbit
New Features
Documentation
API Changes